用matlab进行8PSK的仿真,找不出来错在哪里要疯了求解特别简单粗暴的一个仿真,生成3位一组的
用matlab进行8PSK的仿真,找不出来错在哪里要疯了求解特别简单粗暴的一个仿真,生成3位一组的一串二进制数,然后加噪声,通过位置判断解调,最后算算ber和ser,但是...
用matlab进行8PSK的仿真,找不出来错在哪里要疯了求解特别简单粗暴的一个仿真,生成3位一组的一串二进制数,然后加噪声,通过位置判断解调,最后算算ber和ser,但是现在结果偏差特别大,我怎么也找不出错来,觉得问题最有可能出在判断上,decision region就是我图片里的部分,其中的positionx和positiony是和格雷码对应的坐标数,对应关系见第四张图,第一个码是000,然后顺时针方向对应
图片顺序变了!请按4312阅读 展开
图片顺序变了!请按4312阅读 展开
1个回答
2016-03-27
展开全部
clear;
close all;
Fd=1;%消息序列的采样速率
Fs=3*Fd;%以调信号的采样速率
M=4;%4比特调制,qpsk
SNR=0:12;%去信噪比从0到12
SNR1=0:0.1:12;%步进为0.1
for n=1:length(SNR)%对每一snr计算一次
Eb_N0=10^(SNR(n)/10);%换丛森仔算10进制
sgma=sqrt(1/(4*Eb_N0));%噪声信号的平方差开根号
x=randint(10000,1,M);%产生10000个输入符号
y=dmodce(x,Fd,Fs,'psk',M);%调制
ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+1i*randn(length(y),1));%经过信道春槐加噪声
z=ddemodce(ynoise,Fd,Fs,'psk',M);%解调
[numbers,pm(n)]=symerr(x,z);&求误渗汪符号率
close all;
Fd=1;%消息序列的采样速率
Fs=3*Fd;%以调信号的采样速率
M=4;%4比特调制,qpsk
SNR=0:12;%去信噪比从0到12
SNR1=0:0.1:12;%步进为0.1
for n=1:length(SNR)%对每一snr计算一次
Eb_N0=10^(SNR(n)/10);%换丛森仔算10进制
sgma=sqrt(1/(4*Eb_N0));%噪声信号的平方差开根号
x=randint(10000,1,M);%产生10000个输入符号
y=dmodce(x,Fd,Fs,'psk',M);%调制
ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+1i*randn(length(y),1));%经过信道春槐加噪声
z=ddemodce(ynoise,Fd,Fs,'psk',M);%解调
[numbers,pm(n)]=symerr(x,z);&求误渗汪符号率
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询