不同方式解调下FSK、PSK、DPSK的误码率比较(5)

2019-01-07 17:43

%在已调信号中加入高斯白噪声 randn('state',seed(2));

y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声

figure(3)

plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号 axis([min(t) max(t) -1.5 1.5]);

title('加入高斯白噪声后的已调信号') xlabel('Time');

ylabel('Amplitude'); %相干解调

z1=ddemod(y,Fc,Fd,Fs,'psk',M,df);

%带输出波形的相干M元频移键控解调 figure(4)

stem([0:numPlot-1],x(1:numPlot),'bx'); hold on;

stem([0:numPlot-1],z1(1:numPlot),'ro'); hold off;

axis([0 numPlot -0.5 1.5]);

title('相干解调后的信号原序列比较')

legend('原输入二进制随机序列','相干解调后的信号') xlabel('Time');

ylabel('Amplitude');

%误码率统计

[errorSym ratioSym]=symerr(x,z1); figure(6)

simbasebandex([0:1:5]);

title('相干解调后误码率统计')

%DPSK调制和相干解调MATLAB源代码 function DPSK Fc=10; %载频

Fs=100; %系统采样频率 Fd=1; %码速率 N=Fs/Fd; df=10;

numSymb=25;%进行仿真的信息代码个数 M=2; %进制数 SNRpBit=60;%信噪比

21

SNR=SNRpBit/log2(M); seed=[12345 54321]; numPlot=25;

%产生25个二进制随机码

x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码 figure(1)

stem([0:numPlot-1],x(1:numPlot),'bx'); title('二进制随机序列') xlabel('Time');

ylabel('Amplitude');

%将25个绝对码转换为相对码 b=zeros(1,26);

b(2)=xor(b(1),x(1)) for n=2:25

b(n+1)=xor(x(n),b(n)); end

for n=1:25

x(n)=b(n+1); end

figure(2)

stem([0:numPlot-1],x(1:numPlot),'bx'); title('二进制随机序列相对码') xlabel('Time');

ylabel('Amplitude');

%调制

y=dmod(x,Fc,Fd,Fs,'psk',M,df); numModPlot=numPlot*Fs; t=[0:numModPlot-1]./Fs; figure(3)

plot(t,y(1:length(t)),'b-'); axis([min(t) 2 -1.5 1.5]); title('调制后的信号') xlabel('Time');

ylabel('Amplitude');

%在已调信号中加入高斯白噪声 randn('state',seed(2));

y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声

figure(4)

plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号 axis([min(t) 2 -1.5 1.5]);

22

title('加入高斯白噪声后的已调信号') xlabel('Time');

ylabel('Amplitude');

%相干解调

z1=ddemod(y,Fc,Fd,Fs,'psk',M,df); %将恢复出的相对码变换为绝对码 a=zeros(1,26); a(1)=xor(b(1),0); for n=2:25

a(n)=xor(b(n),b(n-1)) end

for n=1:25

z1(n)=a(n+1); end

%带输出波形的相干M元频移键控解调 figure(5)

stem([0:numPlot-1],z1(1:numPlot),'ro'); axis([0 numPlot -0.5 1.5]);

title('相干解调后的信号的绝对码') xlabel('Time');

ylabel('Amplitude');

%误码率统计

[errorSym ratioSym]=symerr(x,z1); figure(6)

simbasebandex([0:1:5]);

title('相干解调后误码率统计')

%DPSK调制差分解调MATLAB源代码 function DPSK Fc=10; %载频

Fs=100; %系统采样频率 Fd=1; %码速率 N=Fs/Fd; df=10;

numSymb=25;%进行仿真的信息代码个数 M=2; %进制数 SNRpBit=60;%信噪比 SNR=SNRpBit/log2(M); seed=[12345 54321]; numPlot=25;

23

%产生25个二进制随机码

x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码 figure(1)

stem([0:numPlot-1],x(1:numPlot),'bx'); title('二进制随机序列') xlabel('Time');

ylabel('Amplitude');

%将25个绝对码转换为26个相对码 b=zeros(1,26); for n=1:25

b(n+1)=xor(x(n),b(n)); end

figure(2)

stem([0:25],b(1:26),'bx'); title('二进制随机序列相对码') xlabel('Time');

ylabel('Amplitude');

%调制

y=dmod(b,Fc,Fd,Fs,'psk',M,df); numModPlot=26*Fs;

t=[0:numModPlot-1]./Fs; figure(3)

plot(t,y(1:length(t)),'b-'); axis([min(t) max(t) -1.5 1.5]); title('调制后的信号') xlabel('Time');

ylabel('Amplitude');

%在已调信号中加入高斯白噪声 randn('state',seed(2));

y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');%在已调信号中加入高斯白噪声

figure(4) stem(y)

plot(t,y(1:length(t)),'b-');%画出经过信道的实际信号 axis([min(t) max(t) -1.5 1.5]);

title('加入高斯白噪声后的已调信号') xlabel('Time');

ylabel('Amplitude');

%差分解调带通滤波器

24

[B,A]=butter(10,0.2,'high'); a=filter(B,A,y); wc=[0.3,0.9];

[B,A]=butter(10,wc,'stop'); b=filter(B,A,a);

%延迟一个码元的长度 a=zeros(0,2700); for n=101:2700

a(n)=y(n-100); end

%相乘

for n=1:2600

a(n)=a(n)*y(n); end

figure(5) stem(a)

title('相乘后的信号') xlabel('Time');

ylabel('Amplitude');

%低通滤波器

[B,A]=butter(15,0.15); z1=filter(B,A,a); figure(6) plot(z1)

title('通过低通滤波器的信号') xlabel('点数');

ylabel('Amplitude');

%抽样判决

b=zeros(1,26) ; for n=1:26

b(n)=z1(100*n-50); end

for n=1:26

if b(n)>0.2 b(n)=1; else b(n)=0; end end

figure(7) stem(b)

25


不同方式解调下FSK、PSK、DPSK的误码率比较(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:社会保障概论复习大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: