数字调制信号调制解调与时频域分析.docx
- 文档编号:25968433
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:122.03KB
数字调制信号调制解调与时频域分析.docx
《数字调制信号调制解调与时频域分析.docx》由会员分享,可在线阅读,更多相关《数字调制信号调制解调与时频域分析.docx(15页珍藏版)》请在冰豆网上搜索。
数字调制信号调制解调与时频域分析
简明通信原理实验
报告六
实验6
Matlab实验三数字调制信号调制解调与时频域分析
一、MATLAB仿真内容:
(1)运行样例程序,观察OOK、BPSK、BFSK信号的时域波形和功率谱谱,求已调信号的带宽。
(2)采用相干解调法对BPSK信号解调,绘制解调后的信号波形,并与原始信号进行比较,对仿真结果进行分析说明。
(3)编写DBPSK信号产生和解调程序,绘制DBPSK信号的时域波形和功率谱,绘制解调后的信号波形并与原始信号波形进行比较。
(4)编写四进制相移键控信号QPSK的产生程序,绘制信号波形与功率谱。
二、MATLAB仿真结果:
(1)运行样例程序,观察OOK、BPSK、BFSK信号的时域波形和功率谱谱,求已调信号的带宽。
文本:
clearall;closeall;
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);
figure
subplot(211)
plot(t,s_BASK);grid
axis([010-1.21.2]);
ylabel('OOK');
subplot(212)
plot(f1,10*log10(abs(s_BASKf).^2/T));grid
axis([-fc-4fc+4-5010]);
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);
figure
subplot(211)
plot(t,s_BPSK);grid
axis([010-1.21.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);
figure
subplot(211)
plot(t,s_BFSK);grid
axis([010-1.21.2]);
ylabel('BFSK');
subplot(212)
plot(f3,10*log10(abs(s_BFSKf).^2/T));grid
axis([-fc-4fc+4-5010]);
ylabel('BFSK功率谱密度(dB/Hz)');
xlabel('f');
波形:
1.OOK:
Book=2Rb=2Hz
2.BPSK:
Bbpsk=2fs=2Hz
3.BFSK:
Bbfsk=|f2-f1|+2fs=2Hz
(2)采用相干解调法对BPSK信号解调,绘制解调后的信号波形,并与原始信号进行比较,对仿真结果进行分析说明。
文本:
clearall;closeall;
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([010-1.21.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);holdon
axis([020-23]);
plot(t,s_BPSK/2,'r--');
title('相干解调后的信号波形与输入信号的比较');
xlabel('t');
波形:
分析:
BPSK可以表述为一个双极性基带信号与一个正弦波的相乘,而它的解调采用想干解调法进行。
解调时,接受端必须提供一个和载波同频同相的本地载波。
(3)编写DBPSK信号产生和解调程序,绘制DBPSK信号的时域波形和功率谱,绘制解调后的信号波形并与原始信号波形进行比较。
clearall;
closeall;
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([00.0002-0.21.2]);
gridon;
title('数字基带信号');
b=randint(1,p,2);
%将生成的基带转换为差分码
fori=1:
p
if(i==1)
if(s(i)==0)
b(i)=0;
else
b(i)=1;
end
elseif(s(i)==b(i-1))
b(i)=0;
else
b(i)=1;
end
end
n=b(ceil(k*t+0.01));%将差分码生成时域信号
subplot(212)
plot(t,n);
axis([00.0002-0.21.2]);
gridon;
title('差分码')
x=(n-0.5).*2
car=sin(2*pi*fc*t);%定义载波
dpsk=x.*car;%2dpsk信号的载波调制
figure
(2)
subplot(211);
plot(t,dpsk);
axis([00.0002-1.21.2]);
title('2DPSK信号');
gridon;
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)));
gridon;
title('2DPSK功率谱');
axis([-700000700000-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=[100.7305];
b=[0.1350-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.140.14];
dit=filter(b1,a1,cm);
dit=dit-mean(dit);
%抽样判决器
H=1;
L=0;
Z=0;
len=length(dit);
forii=1:
len
ifdit(ii)>=Z
Vs(ii)=H;
else
Vs(ii)=L;
end
end
figure(3)
subplot(311)
plot(t,Vs)
title('解调后差分信号')
axis([010e-4-0.21.2])
gridon;
c=randint(1,22,2);%产生解调后的差分码元
forf=0:
19
c(f+1)=fix(Vs(f*200+50)+0.2)
end
d=randint(1,21,2);%定义差分译码后的码元
forl=1:
21%得到差分译码后的码元
if(l==1)
if(s
(1)==0)
d
(1)=0;
else
d
(1)=1;
end
elseif(c(l)==c(l-1))
d(l)=0;
else
d(l)=1;
end
end
y=d(ceil(k*t+0.01));
subplot(313);
plot(t,y);
axis([010e-4-0.21.2]);
title('码反变换输出');%基带信号与解调后的信号对比
subplot(312)
plot(t,m);
axis([010e-4-0.21.2]);
title('原始基带信号');
波形:
(4)编写四进制相移键控信号QPSK的产生程序,绘制信号波形与功率谱。
文本:
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);
%产生二进制信源
d1=(sign(randn(1,N))+1)/2;
dd1=upsample(d1,fc*N_sample);
gt1=ones(1,fc*N_sample);
d_NRZ1=conv(dd1,gt1);
d2=(sign(randn(1,N))+1)/2;
dd2=upsample(d2,fc*N_sample);
gt2=ones(1,fc*N_sample);
d_NRZ2=conv(dd2,gt2);
%载波信号
ht1=A*cos(2*pi*fc*t);
ht2=A*sin(2*pi*fc*t);
%%**********QPSK信号******************
d_QPSK1=2*d_NRZ1-1;
d_QPSK2=2*d_NRZ2-1;
s_QPSK1=d_QPSK1(1:
T).*ht1;
s_QPSK2=d_QPSK2(1:
T).*ht2;
s_QPSK=s_QPSK1+s_QPSK2;
[f2,s_QPSKf]=myt2f(s_QPSK,fs);
figure
(1)
subplot(311)
plot(t,s_QPSK1);
axis([010-1.21.2]);
ylabel('QPSK1');
subplot(312)
plot(t,s_QPSK2);
axis([010-1.21.2]);
ylabel('QPSK2');
subplot(313)
plot(t,s_QPSK);
axis([010-1.21.2]);
ylabel('QPSK');
figure
(2)
plot(f2,10*log10(abs(s_QPSKf).^2/T));
axis([-fc-4fc+4-5010]);
ylabel('QPSK功率谱密度(dB/Hz)');
波形:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 调制 信号 解调 时频域 分析