Simulink仿真:2ASK、2FSK、2PSK信号调制解调

需积分: 48 12 下载量 2 浏览量 更新于2024-07-22 3 收藏 834KB DOC 举报
"本文以Simulink为平台,详述了2ASK、2FSK、2PSK信号的仿真过程,包括Simulink基础、调制解调原理以及具体建模与仿真步骤。" Simulink是MathWorks公司提供的一个基于Matlab的图形化仿真工具,它以其积木式建模方式,广泛应用于系统建模、仿真和分析,特别是在通信、控制、信号处理等领域。在通信技术的发展中,Simulink已经成为设计、验证和测试通信系统的重要平台。 2ASK(Amplitude Shift Keying,幅度键控)是一种数字调制方法,通过改变载波信号的幅度来传递信息。2FSK(Frequency Shift Keying,频率键控)则是利用载波频率的变化来表示二进制数据。2PSK(Phase Shift Keying,相位键控)则是通过改变载波的相位来传输信息。这些调制方式在无线通信、数据传输等领域有着广泛应用。 在Simulink中,对这些调制方式进行仿真,首先需要理解它们的基本原理。2ASK通过改变载波幅度将二进制‘0’和‘1’转换为不同幅度的模拟信号。2FSK则是通过切换两个不同的载频来代表‘0’和‘1’。2PSK则是根据‘0’和‘1’来改变载波的相位,通常采用正相和反相两种相位。 Simulink建模时,通常会包含以下几个部分:信号源模块(生成二进制数据流)、调制模块(将二进制数据转换为模拟信号)、信道模型模块(模拟实际传输过程中可能遇到的噪声、衰减等)、解调模块(从受到干扰的信号中恢复原始数据)以及性能评估模块(如误码率计算)。 对于2ASK的仿真,调制模块会根据输入的二进制序列调整载波的幅度。解调部分采用相干解调,通过比较接收到的信号与参考载波的幅度差异来判断原始数据。同样,2FSK的调制是切换两个载频,解调则通过检测信号频率变化来区分‘0’和‘1’。2PSK调制是改变相位,解调则基于相位比较,通常使用鉴相器进行相干解调。 在仿真过程中,误码率是衡量系统性能的关键指标。在Simulink中,可以通过Display模块实时显示误码率,以便观察系统在不同信噪比下的性能。 这篇文章深入探讨了如何使用Simulink对2ASK、2FSK和2PSK信号进行建模和仿真,通过具体的步骤和实例,有助于读者理解数字通信系统的工作原理,并提升对Simulink工具的运用能力。对于从事通信系统设计和研究的人员,这类仿真方法具有很高的实践价值。
2012-06-11 上传
clear all; close all; clc; max=10 g=zeros(1,max); g=randint(1,max);%长度为max的随机二进制序列 cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi; for n=1:length(g); if g(n)==0; A=zeros(1,200);%每个值200个点 else g(n)==1; A=ones(1,200); end cp=[cp A]; %s(t),码元宽度200 c=cos(f*t);%载波信号 mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式 end figure(1);subplot(4,2,1);plot(cp);grid on; axis([0 200*length(g) -2 2]);title('二进制信号序列'); cm=[];mod=[]; for n=1:length(g); if g(n)==0; B=ones(1,200);%每个值200个点 c=cos(f*t); %载波信号 else g(n)==1; B=ones(1,200); c=cos(f*t+pi); %载波信号 end cm=[cm B]; %s(t),码元宽度200 mod=[mod c]; %与s(t)等长的载波信号 end tiaoz=cm.*mod;%e(t)调制 figure(1);subplot(4,2,2);plot(tiaoz);grid on; axis([0 200*length(g) -2 2]);title('2PSK调制信号'); figure(2);subplot(4,2,1);plot(abs(fft(cp))); axis([0 200*length(g) 0 400]);title('原始信号频谱'); figure(2);subplot(4,2,2);plot(abs(fft(tiaoz))); axis([0 200*length(g) 0 400]);title('2PSK信号频谱'); %带有高斯白噪声的信道 tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10 figure(1);subplot(4,2,3);plot(tz);grid on axis([0 200*length(g) -2 2]);title('通过高斯白噪声信道后的信号'); figure(2);subplot(4,2,3);plot(abs(fft(tz))); axis([0 200*length(g) 0 400]);title('加入白噪声的2PSK信号频谱'); jiet=2*mod1.*tz;%同步解调 figure(1);subplot(4,2,4);plot(jiet);grid on axis([0 200*length(g) -2 2]);title('相乘后信号波形') figure(2);subplot(4,2,4);plot(abs(fft(jiet))); axis([0 200*length(g) 0 400]);title('相乘后信号频谱'); %低通滤波器 fp=500;fs=700;rp=3;rs=20;fn=11025; ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率 [n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率 [b,a]=butter(n,wn);%计算H(z) figure(4);freqz(b,a,1000,11025);subplot(2,1,1); axis([0 4000 -100 3 ]) title('LPF幅频相频图'); jt=filter(b,a,jiet); figure(1);subplot(4,2,5);plot(jt);grid on axis([0 200*length(g) -2 2]);title('经低通滤波器后信号波形') figure(2);subplot(4,2,5);plot(abs(fft(jt))); axis([0 200*length(g) 0 400]);title('经低通滤波器后信号频谱'); %抽样判决 for m=1:200*length(g); if jt(m)=0; jt(m)=0; end end figure(1);subplot(4,2,6);plot(jt);grid on axis([0 200*length(g) -2 2]);title('经抽样判决后信号s^(t)波形') figure(2);subplot(4,2,6);plot(abs(fft(jt))); axis([0 200*length(g) 0 400]);title('经抽样判决后信号频谱');