当前位置:文档之家› 基于MATLAB的数字调制

基于MATLAB的数字调制

2ASK、2FSK、2PSK数字调制系统的Matlab实现及性能分析与比较引言:数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。

必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。

通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。

根据控制载波参量大的不同,数字调制有调幅(ASK ),调频(FSK),调相(PSK)三种基本形式。

Matlab 用于仿真,分析和修改,还可以应用图形界面功能GUI 能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab 对数字系统进行仿真。

通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能()及影响性能的因素,从而便于改进系统,获得更佳的传输性能。

关键词: 数字 . 系统. 性能. ASK. FSK. PSK. Matlab. 仿真.一 .数字调制与解调原理2ASK(1)2ASK2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载⎩⎨⎧===001,cos )(2k k c ASK a a t A t s 当,当ω波的幅度来传递的。

由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。

公式为:2FSK2FSK 可以看做是2个不同频率的2ASK 的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK 调制信号。

公式如下:⎩⎨⎧===0cos 1,cos )(212k k FSK a t A a t A t s 当,当ωω2PSK2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者π表示数据1或者0,每种相位与之一一对应。

二.数字调制技术的仿真实现本课程设计需要借助MATLAB的M文件编程功能,对2ASK..进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。

代码主函数close allclear alln=16;fc=1000000; bitRate=1000000;N=50;%noise=ti;noise=10;signal=source(n,N); %生成二进制代码transmittedSignal=askModu(signal,bitRate,fc,N);%调制后信号signal1=gussian(transmittedSignal,noise);%加噪声configueSignal=demoASK(signal1,bitRate,fc,n,N);source代码function sendSignal=source(n,N)sendSignal=randint(1,n)bit=[];for i=1:length(sendSignal)if sendSignal(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(1)plot(1:length(bit),bit),title('transmitting of binary'),gridon;axis([0,N*length(sendSignal),-2,2]);endaskModu代码function transmittedSignal=askModu(signal,bitRate,fc,N)%signal为输入信号,bitrate为bit速率,fc调制信号频率,N %signal=[0 0 1 0 1 1 0 1];% bitRate=1000000;% fc=1000000;% N=32; t=linspace(0,1/bitRate,N);c=sin(2*pi*t*fc);transmittedSignal=[];for i=1:length(signal)transmittedSignal=[transmittedSignal,signal(i)*c];endfigure(2) %画调制图plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of ASK');grid on;figure(3)%画频谱实部m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F))),title('ASK_frequency-domain analysisreal');grid on;%figure(4)画频谱虚部%plot(m,imag(F));title('ASK_frequency-domain analysis imag');%grid on;endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2if(signal1(ki)==signal2(ki))rights=rights+1;elsewrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);enddemoASK代码function bitstream=demoASK(receivedSignal,bitRate,fc,n,N) load numsignal1=receivedSignal;signal2=abs(signal1); %??á÷signal3=filter(num1,1,signal2); %LPF,°üì2¨IN=fix(length(num1)/2); %?ó3ùê±??bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;while (i<=length(signal3)) %?D??bitstream=[bitstream,signal3(i)>=];i=i+LL;endfigure(6)subplot(3,1,1); %接收波形plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);%接收整流后波形plot(1:length(signal2),signal2);title('Wave ofcommutate');grid on;subplot(3,1,3);%包络检波波形plot(1:length(signal3),signal3);title('Wave of LPF');grid on;bit=[];for i=1:length(bitstream)if bitstream(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(7)%解调后的二进制波形plot(bit),title('binary of receiving terminal'),grid on; axis([0,N*length(bitstream),,]);endgussian代码 %加高斯白噪声function signal=gussian(transmittedSignal,noise)signal=sqrt(2)*transmittedSignal;signal=awgn(signal,noise);figure(5)plot(1:length(signal),signal);title('Wave including noise'),grid on;endsignal; %乘同频同相sinsignal3=filter(num1,1,signal2); %LPF,包络检波3IN=fix(length(num1)/2); %?延迟时间bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;while (i<=length(signal3)) %判决bitstream=[bitstream,signal3(i)>=0];i=i+LL;endfigure(5)subplot(3,1,1);%画接收的包含噪声的波形plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);%相干解调波形plot(1:length(signal2),signal2);title('After Multipling sin Fuction');grid on;subplot(3,1,3);%包络检波波形plot(1:length(signal3),signal3);title('Wave of LPF');grid on;bit=[];for i=1:length(bitstream)if bitstream(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(6)二进制接收信号波形plot(bit);title('binary of receiving terminal');grid on; axis([0,N*length(bitstream),,]);endgussian代码function signal=gussian(transmittedSignal,noise)signal=sqrt(2)*transmittedSignal;signal=awgn(signal,noise);figure(4)plot(1:length(signal),signal),grid on;title('Adding noise')end三种调制方式的性能比较:load PeRate;load PeRatep;%补偿误差fpeask(15)=1e-3;fpefsk(9)=1e-3;fpepsk(24)=;fpepsk(26)=1e-3;figure(1)semilogy(-6:length(fpeask)-7,fpeask,-6:length(fpefsk)-7,fpefsk, -30:length(fpepsk)-31,fpepsk),grid on;title('Analysis Of Bit Error Rate');legend('ASK','FSK','PSK');xlabel('r/dB');ylabel('Pe');figure(2)semilogy(-6:length(fpefsk)-7,fpeask);grid on;title('Bit Error Rate Of ASK');xlabel('r/dB');ylabel('PeASK');figure(3)semilogy(-6:length(fpefsk)-7,fpefsk);grid on;title('Bit Error Rate Of FSK');xlabel('r/dB');ylabel('PeFSK');figure(4)semilogy(-16:length(fpepsk)-17,fpepsk);grid on;title('Bit Error Rate Of PSK'); axis([-16,10,1e-3,1]);xlabel('r/dB');ylabel('PePSK');三.程序与调制解调波形2ASK波形1随机信号产生2ASK信号调制3信号噪声附加4接受信号解调5解调出的基带信号.FSK1随机信号产生2FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号1.随机信号产生2.FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号误码率分析误码率分析误码率分析误码率分析4性能比较4课程设计心得体会经过紧张而有辛苦的一周的通信原理课程设计,当辛苦的汗水换来的是成功的喜悦时,感觉自己又完成了对自己的一个新的超越,这大大增加了我的自信心,也是对自己的能力的肯定。

相关主题