当前位置:文档之家› 2psk调制通信系统

2psk调制通信系统

2psk 调制通信系统一,设计任务与要求课程设计需要运用MA TLAB 编程实现2PSK 调制解调过程,并且输出其调制及解调过程中的波形,讨论其调制和解调效果。

二,实验基本原理数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理。

②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。

这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(2PSK )基本的调制方式。

相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。

在2PSK 中,通常用初始相位0和π分别表示二进制“1”和“0”。

2psk 调制器可以采用相乘器,也可以采用相位选择器就模拟调制法而言,与产生2ASK 信号的方法比较,只是对s(t)要求不同,因此2PSK 信号可以看作是双极性基带信号作用下的DSB 调幅信号。

而就键控法来说,用数字基带信号s(t)控制开关电路,选择不同相位的载波输出,这时s(t)为单极性NRZ 或双极性NRZ 脉冲序列信号均可。

2PSK 信号属于DSB 信号。

本次实验采用的的模拟相乘法即通过载波和双极性不归零码的相乘得到2psk 信号,则2psk 信号产生的调制原理框图和时域表达式如下:⎩⎨⎧-±=p t Pt t psk e -,cos ,cos cos 2_概率为概率为ωωω 图1时域表达式图2调制原理框图 2psk 典型波形如下:三,仿真方案和参数设置参数设置如下所示:每码元采样点数Fn=500;码元数m=50;载波频率fc=2;码元速率Rm=1;加入的白噪声的信噪比snr分别为10,30,50 MATLAB产生2psk信号的程序框图如下:四,实验结果与分析产生的双极性非归零码波形,2psk信号波形和频谱如下;T/s幅度2psk 调制信号T/s幅度F/hzs /d b分析如下:当二进制符号为“0”时,调制信号相位差为0,而当二进制符号为“1”时,调制信号相位差为π。

2PSK 信号的频谱由连续谱和离散谱构成。

当加入白噪声后,2psk 信号波形和频谱如下:T/s幅度F/hzs /d bsnr=30时2psk 调制信号T/s幅度snr=30时2psk 调制信号频谱F/hzs /d bsnr=50时2psk 调制信号T/s幅度snr=50时2psk 调制信号频谱F/hzs /d b由图可知加入白噪声后,2psk 信号发生了失真,随着信噪比的增加,2psk 失真越来越小。

这是因为信噪比越大,2psk 信号的平均功率越大,信号越强,而噪声平均功率越小,噪声信号越弱,因此失真越小。

由于白噪声没有频谱,因此无论信噪比如何变化,其最终的频谱都没发生任何变化,保持原样。

五,源程序代码产生双极性非归零码和2psk信号的子函数:function [dnrz,bpsk] = fbpsk(L,M,f)% 产生双极型归零码% L为每个码元重复次数,则码元间隔Ts% M为码元数目,f为载波频率t=0:1/(L-1):1; %保证载波与码元时域分辨率相同fc=[];n=1; %赋初值for ii=1:M %将fc进行列重复拓展fc1=sin(2*pi*f*t); %载波fc=[fc fc1]; %按照列方向合并为一个矩阵while rem(n,2)~=0; %保证仿真时有偶数个1nrz=round(rand(1,M)); %随机产生单极性非归零码n=length(find(nrz==1));endp = nrz==0; %找出nrz中0的位置nrz(p)=-1; %将0赋为-1dnrz=nrz(ones(1,L),:); %将nrz进行列拓展,并且每个元素重复L次dnrz=reshape(dnrz,1,L*M); %重排成1*(L*M)的矩阵endbpsk=dnrz.*fc; %产生2psk信号End对信号进行FFT的子函数:function [X,f]=fftseq(x,fs)% 本函数的功能为完成fft变换% x为输入信号% X为x的傅里叶变换L=length(x); %求出信号x的长度N=2^(nextpow2(L)); %N为大于等于n的二的整数次幂的数中最小的一个,fft按基二算法X1=fft(x,N); %计算x的N点离散傅里叶变换dftX=fftshift(X1);X=X/fs;df=fs/N; %频域分辨率f=[0:df:df*(N-1)]-fs/2;主函数如下:clear all;close all;Fn=500; %Fn每码元采样点数为500m=50; %m码元数为50fc=2; %fc载波频率为2Rm=1; %Rm码元速率为1Tn=1/Rm; %Tn码元间隔tb=Tn/Fn; %tb时域分辨率N=Fn*m; %N总采样点数T=N*tb; %计算时域上时间总长度Tt=linspace(-T/2,T/2,N); %产生时间取样点矩阵,在T长度内等分为N份[dnrz,bpsk]=fbpsk(Fn,m,fc); %调用子函数,产生dnrz和dpsk信号[Sbpsk,f1]=fftseq(bpsk,Fn); %Fbpsk为信号频谱Fbpsk=Sbpsk;figure(1);subplot(221); %画出双极性不归零码的波形plot(t,dnrz);title('双极性不归零码');xlabel('T/s');ylabel('幅度');axis([0,10,-1.5,1.5]);set(gca,'xtick',[0:0.5:10]);grid on;subplot(223); %画出2psk信号的波形plot(t,bpsk);title('2psk调制信号');xlabel('T/s');ylabel('幅度');axis([0,10,-1.5,1.5])set(gca,'xtick',[0:0.5:10]);grid on;subplot(222); %画出2psk信号的频谱plot(f1,Fbpsk);title('2psk调制信号频谱');xlabel('F/hz');ylabel('s/db');axis([-10,10,0,5.0]);grid on;snr1=10; %增加snr=10的白噪声awgn1=awgn(bpsk,snr1);[Sawgn1,f2]=fftseq(awgn1,Fn);Fawgn1=Sawgn1; %Fawgn1为调制信号的频谱snr2=30; %增加snr=30的白噪声awgn2=awgn(bpsk,snr2);[Sawgn2,f2]=fftseq(awgn2,Fn);Fawgn2=Sawgn2; %Fawgn2为调制信号的频谱snr3=50; %增加snr=50的白噪声awgn3=awgn(bpsk,snr3);[Sawgn3,f2]=fftseq(awgn3,Fn);Fawgn3=Sawgn3; %Fawgn3为调制信号的频谱figure(2);subplot(321); %画出snr=10时2psk调制信号的波形plot(t,awgn1);title('snr=10时2psk调制信号');xlabel('T/s');ylabel('幅度');axis([0,10,-1.5,1.5]);grid on;subplot(322); %画出snr=10时2psk调制信号的频谱plot(f2,Fawgn1);title('snr=10时2psk调制信号频谱');xlabel('F/hz');ylabel('s/db');axis([-10,10,0,5.0]);set(gca,'xtick',[-10:1:10]);grid on;subplot(323); %画出snr=30时2psk调制信号的波形plot(t,awgn2);title('snr=30时2psk调制信号');xlabel('T/s');ylabel('幅度');axis([0,10,-1.5,1.5]);grid on;subplot(324); %画出snr=30时2psk调制信号的频谱plot(f2,Fawgn2);title('snr=30时2psk调制信号频谱');xlabel('F/hz');ylabel('s/db');axis([-10,10,0,5.0]);set(gca,'xtick',[-10:1:10]);grid on;subplot(325); %画出snr=50时2psk调制信号的波形plot(t,awgn3);title('snr=50时2psk调制信号');xlabel('T/s');ylabel('幅度');axis([0,10,-1.5,1.5]);grid on;subplot(326); %画出snr=50时2psk调制信号的频谱plot(f2,Fawgn3);title('snr=50时2psk调制信号频谱');xlabel('F/hz');ylabel('s/db');axis([-10,10,0,5.0]);set(gca,'xtick',[-10:1:10]);grid on;六,心得与体会基于MATLAB的数字调制信号仿真设计让我获益颇深。

更加深入的掌握了MATLAB软件的使用,了解了数字调制的基本原理和主要过程,进一步学习了信号的调制的有关内容,特别是对于2psk调制信号的理解。

虽然这次设计有许多的不懂,但通过查阅课本和相关书籍还是拓宽了知识,增长了见识,收获很大。

相关主题