当前位置:文档之家› 数字调制信号调制解调与时频域分析

数字调制信号调制解调与时频域分析

简明通信原理实验报告六实验6Matlab 实验三数字调制信号调制解调与时频域分析一、MATLAB仿真内容:(1)运行样例程序,观察 OOK、BPSK、BFSK 信号的时域波形和功率谱谱,求已调信号的带宽。

(2)采用相干解调法对 BPSK 信号解调,绘制解调后的信号波形,并与原始信号进行比较,对仿真结果进行分析说明。

(3)编写 DBPSK 信号产生和解调程序,绘制 DBPSK 信号的时域波形和功率谱,绘制解调后的信号波形并与原始信号波形进行比较。

(4)编写四进制相移键控信号 QPSK 的产生程序,绘制信号波形与功率谱。

二、MATLAB仿真结果:(1)运行样例程序,观察OOK、BPSK、BFSK 信号的时域波形和功率谱谱,求已调信号的带宽。

文本:clear all;close all;A = 1; % 载波幅度fc = 2; % 载波频率N_sample = 8; % 每个码元采样点数N = 500; % 码元数Ts = 1; % 码元长度dt = Ts/(fc*N_sample); % 波形采样间隔fs = 1/dt; % 采样频率t = 0:dt:N*Ts-dt;T = length(t);d = (sign(randn(1,N))+1)/2;dd = upsample(d,fc*N_sample);gt = ones(1,fc*N_sample);d_NRZ = conv(dd,gt);ht = A*cos(2*pi*fc*t);%%********** OOK信号 ******************s_BASK = d_NRZ(1:T).*ht;[f1,s_BASKf] = myt2f(s_BASK,fs);figuresubplot(211)plot(t,s_BASK);gridaxis([0 10 -1.2 1.2]);ylabel('OOK');subplot(212)plot(f1,10*log10(abs(s_BASKf).^2/T));gridaxis([-fc-4 fc+4 -50 10]);ylabel('OOK功率谱密度(dB/Hz)');%%********** BPSK信号 ******************d_BPSK = 2*d_NRZ-1;s_BPSK = d_BPSK(1:T).*ht;[f2,s_BPSKf] = myt2f(s_BPSK,fs);figuresubplot(211)plot(t,s_BPSK);gridaxis([0 10 -1.2 1.2]);ylabel('BPSK');subplot(212)plot(f2,10*log10(abs(s_BPSKf).^2/T));A = 1;grid % 载波幅度fc = 2; % 载波频率N_sample = 8; % 每个码元采样点数N = 500; % 码元数ylabel('BPSK功率谱密度(dB/Hz)');%%********** BFSK信号 ******************d_BFSK = 2*d_NRZ-1;s_BFSK = A*cos(2*pi*fc*t+2*pi*d_BFSK(1:T).*t);[f3,s_BFSKf] = myt2f(s_BFSK,fs);figuresubplot(211)plot(t,s_BFSK);gridaxis([0 10 -1.2 1.2]);ylabel('BFSK');subplot(212)plot(f3,10*log10(abs(s_BFSKf).^2/T));gridaxis([-fc-4 fc+4 -50 10]);ylabel('BFSK功率谱密度(dB/Hz)');xlabel('f');波形:1.OOK:Book=2Rb=2 Hz2.BPSK:Bbpsk=2fs=2 Hz3.BFSK:Bbfsk=|f2-f1|+2fs=2 Hz(2)采用相干解调法对 BPSK 信号解调,绘制解调后的信号波形,并与原始信号进行比较,对仿真结果进行分析说明。

文本:clear all;close all;A = 1; % 载波幅度B=1;fc = 2; % 载波频率N_sample = 8; % 每个码元采样点数N = 500; % 码元数Ts = 1; % 码元长度dt = Ts/(fc*N_sample); % 波形采样间隔fs = 1/dt; % 采样频率t = 0:dt:N*Ts-dt;T = length(t);% 产生二进制信源d = (sign(randn(1,N))+1)/2;dd = upsample(d,fc*N_sample);gt = ones(1,fc*N_sample);d_NRZ = conv(dd,gt);% 载波信号ht = A*cos(2*pi*fc*t);%%********** BPSK信号 ******************d_BPSK = 2*d_NRZ-1;s_BPSK = d_BPSK(1:T).*ht;[f2,s_BPSKf] = myt2f(s_BPSK,fs);subplot(211)plot(t,s_BPSK);axis([0 10 -1.2 1.2]);ylabel('BPSK');rt = s_BPSK.*cos(2*pi*fc*t); % 相干解调rt = rt-mean(rt);[f1,sf1] = myt2f(rt,fs);[t0,rt0] = lpf(f1,sf1,B);rt0=sign(rt0/2);subplot(212)plot(t0,rt0);hold onaxis([0 20 -2 3]);plot(t,s_BPSK/2,'r--');title('相干解调后的信号波形与输入信号的比较');xlabel('t');波形:分析:BPSK可以表述为一个双极性基带信号与一个正弦波的相乘,而它的解调采用想干解调法进行。

解调时,接受端必须提供一个和载波同频同相的本地载波。

(3)编写 DBPSK 信号产生和解调程序,绘制 DBPSK 信号的时域波形和功率谱,绘制解调后的信号波形并与原始信号波形进行比较。

clear all;close all;fs=4000000; %设定系统的抽样频率k=20000; %设定数字基带信号的频率fc=200000; %设定正弦载波频率t=0:1/fs:4000/fs; %仿真时间范围p=21;s=randint(1,p,2); %设定需要产生的码元个数m=s(ceil(k*t+0.01)); %将基带生成时域信号figure(1)subplot(211)plot(t,m);axis([0 0.0002 -0.2 1.2]);grid on;title('数字基带信号');b=randint(1,p,2);%将生成的基带转换为差分码for i=1:pif (i==1)if (s(i)==0)b(i)=0;elseb(i)=1;endelseif (s(i)==b(i-1))b(i)=0;elseb(i)=1;endendn=b(ceil(k*t+0.01)); %将差分码生成时域信号subplot(212)plot(t,n);axis([0 0.0002 -0.2 1.2]);grid on;title('差分码')x=(n-0.5).*2car=sin(2*pi*fc*t); %定义载波dpsk=x.*car; %2dpsk信号的载波调制figure(2)subplot(211);plot(t,dpsk);axis([0 0.0002 -1.2 1.2]);title('2DPSK信号');grid on;vn=0.05;noise=vn.*(randn(size(t))); %产生噪音[f2,s_2BPSKf] = myt2f(dpsk,fs);subplot(212);plot(f2,10*log10(abs(s_2BPSKf).^2/length(t))); grid on;title('2DPSK功率谱');axis([-700000 700000 -200 -100]);dpskn=(dpsk+noise); %调制后加噪%带通滤波器fBW=40e3;f=[0:3e3:4e5];w=2*pi*f/fs;z=exp(w*j);BW=2*pi*fBW/fs;a=.8547;p=(j^2*a^2);gain=.135;Hz=gain*(z+1).*(z-1)./(z.^2-(p));Hz(Hz==0)=10^(8);a=[1 0 0.7305];b=[0.135 0 -0.135];dait=filter(b,a,dpskn);dait=dait.*10;cm=dpsk.*car; %2dpsk相干解调%低通滤波器p=0.72;gain1=0.14;Hz1=gain1*(z+1)./(z-(p));a1=[1 -0.72];b1=[0.14 0.14];dit=filter(b1,a1,cm);dit=dit-mean(dit);%抽样判决器H=1;L=0;Z=0;len=length(dit);for ii=1:lenif dit(ii)>= ZVs(ii)=H;elseVs(ii)=L;endendfigure(3)subplot(311)plot(t,Vs)title('解调后差分信号')axis([0 10e-4 -0.2 1.2])grid on;c=randint(1,22,2); %产生解调后的差分码元for f=0:19c(f+1)=fix(Vs(f*200+50)+0.2)endd=randint(1,21,2); %定义差分译码后的码元for l=1:21 %得到差分译码后的码元if (l==1)if (s(1)==0)d(1)=0;elsed(1)=1;endelseif (c(l)==c(l-1))d(l)=0;elsed(l)=1;endendy=d(ceil(k*t+0.01));subplot(313);plot(t,y);axis([0 10e-4 -0.2 1.2]);title('码反变换输出'); %基带信号与解调后的信号对比subplot(312)plot(t,m);axis([0 10e-4 -0.2 1.2]);title('原始基带信号');波形:(4)编写四进制相移键控信号 QPSK 的产生程序,绘制信号波形与功率谱。

相关主题