基于Matlab调制与解调的实现DOC.docx

上传人:b****4 文档编号:11700215 上传时间:2023-03-30 格式:DOCX 页数:16 大小:964.37KB
下载 相关 举报
基于Matlab调制与解调的实现DOC.docx_第1页
第1页 / 共16页
基于Matlab调制与解调的实现DOC.docx_第2页
第2页 / 共16页
基于Matlab调制与解调的实现DOC.docx_第3页
第3页 / 共16页
基于Matlab调制与解调的实现DOC.docx_第4页
第4页 / 共16页
基于Matlab调制与解调的实现DOC.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于Matlab调制与解调的实现DOC.docx

《基于Matlab调制与解调的实现DOC.docx》由会员分享,可在线阅读,更多相关《基于Matlab调制与解调的实现DOC.docx(16页珍藏版)》请在冰豆网上搜索。

基于Matlab调制与解调的实现DOC.docx

基于Matlab调制与解调的实现DOC

基于Matlab调制与解调的实现

一.实验目的

1.熟悉Matlab的使用

2.掌握幅度调制、角度调制及FSK调制的基本原理

3.掌握解调的基本原理,并实现解调

二.实验原理,仿真及结果分析

AM调制与解调

1.标准AM波调制与解调的原理

调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。

为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。

载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。

设载波信号的表达式为

,调制信号的表达式为

,则调幅信号的表达式为

标准调幅波示意图

从高频已调信号中恢复出调制信号的过程称为解调,又称为检波。

对于振幅调制信号,解调就是从它的幅度变化上提取调制信号的过程。

解调是调制的逆过程。

可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。

2.matlab仿真

%======================载波信号===========================

t=-1:

0.00001:

1;

A0=10;%载波信号振幅

f=6000;%载波信号频率

w0=f*pi;

Uc=A0*cos(w0*t);%载波信号

figure

(1);

subplot(2,1,1);

plot(t,Uc);

title('载频信号波形');

axis([0,0.01,-15,15]);

subplot(2,1,2);

Y1=fft(Uc);%对载波信号进行傅里叶变换

plot(abs(Y1));title('载波信号频谱');

axis([5800,6200,0,1000000]);

%======================调制信号==============================

t=-1:

0.00001:

1;

A1=5;%调制信号振幅

f=6000;%载波信号频率

w0=f*pi;

mes=A1*cos(0.001*w0*t);%调制信号

subplot(2,1,1);

plot(t,mes);

xlabel('t'),title('调制信号');

subplot(2,1,2);

Y2=fft(mes);%对调制信号进行傅里叶变换

plot(abs(Y2));

title('调制信号频谱');

axis([198000,202000,0,1000000]);

%=======================AM已调信号=========================

t=-1:

0.00001:

1;

A0=10;%载波信号振幅

A1=5;%调制信号振幅

A2=3;%已调信号振幅

f=3000;%载波信号频率

w0=2*f*pi;

m=0.15;%调制度

mes=A1*cos(0.001*w0*t);%消调制信号

Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号

subplot(2,1,1);

plot(t,Uam);

gridon;

title('AM调制信号波形');

subplot(2,1,2);

Y3=fft(Uam);%对AM已调信号进行傅里叶变换

plot(abs(Y3)),grid;

title('AM调制信号频谱');

axis([5950,6050,0,500000]);

%=========================FIR低通滤波器=======================

Ft=2000;%采样频率

fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hz

mag=[10];

dev=[0.010.05];%通带波动1%,阻带波动5%

[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤波器的参数

b21=fir1(n21,wn21,Kaiser(n21+1,beta));%由fir1设计滤波器

[h,w]=freqz(b21,1);%得到频率响应

plot(w/pi,abs(h));

gridon

title('FIR低通滤波器');

 

%=========================AM信号解调=======================

t=-1:

0.00001:

1;

A0=10;%载波信号振幅

A1=5;%调制信号振幅

A2=3;%已调信号振幅

f=3000;%载波信号频率

w0=2*f*pi;

m=0.15;%调制度

k=0.5;%DSB前面的系数

mes=A1*cos(0.001*w0*t);%调制信号

Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号

Dam=Uam.*cos(w0*t);%对AM调制信号进行解调

subplot(4,2,1);

plot(t,Dam);

title('滤波前AM解调信号波形');

subplot(4,2,2);

axis([187960,188040,0,200000]);

Y5=fft(Dam);%对AM解调信号进行傅里叶变换

plot(abs(Y5)),grid;

title('滤波前AM解调信号频谱');

subplot(4,2,3);

plot(t,z21);

title('滤波后的AM解调信号波形');

T5=fft(z21);%求AM信号的频谱

subplot(4,2,4);

plot(abs(T5));

title('滤波后的AM解调信号频谱');

axis([198000,202000,0,100000]);

角度调制与解调

角度调制是频率调制和相位调制的总称。

角度调制是使正弦载波信号的角度随着基带调制信号的幅度变化而改变。

调频信号可以被看作调制信号在调制前先积分的调相信号。

这意味着先对m(t)积分,再将结果作为调相器的输入即可得到调频信号。

相反,先微分m(t),再将结果作为调频器的输入也可得到调相信号。

有两种基本的方法来产生调频信号:

直接法和间接法。

在直接法中,载波的频率直接随着输入的调制信号的变化而改变。

在间接法中,先用平衡调制器产生一个窄带调频信号,然后通过倍频的方式把载波频率提高到需要的水平。

比较FM和PM的表达式可知,将调频波中的调制信号微分后锁相环构成的电路中即可得到调相波,其与调频波相似。

因此,此处我们以调频波为例研究角度调制。

1.FM调制与解调的原理

调频(FM)是用调制信号控制载波信号频率变化的一种信号变化方式。

当没有调制时,载波信号c(t)中的角频率w是常数,调频时,高频载波的角频率不再是常数,而是随调制信号变化的量。

FM解调框图如下:

调频信号的解调方框图

为使实验更明确,将白噪声与调频波一起输入,在观看其对解调实验的影响,其框图2.5如下:

调频系统抗噪声性能分析

n(t):

均值为0,单边功率谱密度为n0的高斯白噪声。

ni(t):

经带通后,变成带限高斯白噪声。

限幅器输入为调频与噪声的合成波,其幅度和相位均受到噪声的影响,通过限幅器后,可消除幅度影响,因此只考虑噪声对相位的影响。

鉴频器微分器输出为调频调幅波,包络检出后,通过低通滤波器取出调制信号[6]。

2.Matlab仿真

dt=0.001;%设定时间步长

t=0:

dt:

1.5;%产生时间向量

am=15;%设定调制信号幅度←可更改

fm=5;%设定调制信号频率←可更改

mt=am*cos(2*pi*fm*t);%生成调制信号

fc=50;%设定载波频率←可更改

ct=cos(2*pi*fc*t);%生成载波

kf=10;%设定调频指数

vt=cos(2*pi*fc*t+10*15*sin(2*pi*fm*t)/(2*pi*fm));

subplot(4,1,1);plot(t,mt);%绘制调制信号的时域图

title('调制信号的时域图');

subplot(4,1,2);plot(t,ct);%绘制已调信号的时域图

title('载波信号的时域图');

subplot(4,1,3);plot(t,vt);%绘制已调信号的时域图

title('已调信号的时域图');

vt1=vt;

fori=1:

length(t)-1%接受信号通过微分器处理

diff_vt1(i)=(vt1(i+1)-vt1(i))/dt;

end

diff_vt2=abs(hilbert(diff_vt1));%hilbert变换,求绝对值得到瞬时幅度(包络检波)

zero=(max(diff_vt2)-min(diff_vt2))/2;diff_vt3=diff_vt2-zero;

subplot(4,1,4);%绘制解调信号的时域图

plot((1:

length(diff_vt3))/1000,diff_vt3/400);

title('解调信号的时域图');

m=fft(mt);

c=fft(ct);

v=fft(vt);

h=fft(ht);

f=(0:

length(v)-1)*fs/length(v)-fs/2;%频率向量

figure

(1)

subplot(3,1,1);plot(f,abs(fftshift(m)));%频域内基带信号频谱

title('调制信号频谱')

subplot(3,1,2);plot(f,abs(fftshift(c)));%频域内载波信号频谱

title('载波信号频谱')

ylabel('幅度')%注释横纵轴名称

subplot(3,1,3);plot(f,abs(fftshift(v)));%频域内已调信号频谱

title('已调信号频谱')

FSK的调制解调

1.原理

FSK又称作二进制移频键控。

2FSK信号是用载波频率的变化来表征被传信息的状态,被调载波的频率随二进制序列1、0状态而变化,当传送“0”码时对应于载波频率

,传送“1”码时对应于载波频率

[7]。

显然,2FSK信号完全可以看作分别以

为载频,以

和Dn为被传二进制序列的两种2ASK信号合成。

Dn=1,出现概率为P,对应于

Dn=0,出现概率为1-P,对应于

其中

为频率为

的载波初始相位,

为频率为

的载波的初始相位。

为Dn的反码,即:

(2-6)

则有:

当Dn=1时,

=0;当Dn=0时,

=1。

所以FSK信号可以表示为:

(2-7)

其中,我们在分析中假设g(t)为单个矩形脉冲序列,其表达式为:

(2-8)

2FSK信号波形可看作两个2ASK信号波形的合成。

图2.6是相位连续的2FSK信号波形。

FSK波形图

采用模拟调制框图如图2.7所示:

模拟调制框图

当传送“1”码时对应于载波频率

,传送“0”码时,将它求反,再对应于载波频率

,分别相干调制后,在叠加得到已调信号。

FSK相干解调原理:

假设通过加性高斯白噪声信道传输FSK信号。

传输过程中存在延迟。

因此输入到解调器的接收信号为图2.8,相干检测的具体解调电路是同步检波器,原理方框图如图所示。

图中两个带通滤波器的作用同于包络检波法,起分路作用。

它们的输出分别与相应的同步相干载波相乘,再分别经低通滤波器滤掉二倍频信号,取出含基带数字信息的低频信号,抽样判决器在抽样脉冲到来时对两个低频信号的抽样值进行比较判决,即可还原出基带数字信号。

相干解调原理图

FSK信号的功率谱密度的特点:

2FSK信号的功率谱密度由连续谱和离散谱组成。

其中,连续谱由两个双边带谱叠加而成,而离散谱出现在

的两个载频位置上。

若两个载频之差较小,如小于

,则连续谱呈现单峰;如载频之差增大,则连续谱将出现双峰。

2.matlab仿真

Fc=10;

Fs=40;%系统采样频率

Fd=1;%码速率

N=Fs/Fd;%数据长度

df=10;%频率间隙

numSymb=25;%进行仿真的信息代码个数

M=2;%进制数

SNRpBit=60;%信噪比

SNR=SNRpBit/log2(M);%信噪比转换

seed=[1234554321];

numPlot=25;%产生25个二进制随机码

x=randsrc(numSymb,1,[0:

M-1]);%产生25个二进制随机码

y=dmod(x,Fc,Fd,Fs,'fsk',M,df);%进行FSK调制

numModPlot=numPlot*Fs;%时间轴显示的长度

t=[0:

numModPlot-1]./Fs;%时间轴与数字序列轴对应

figure

(1)

stairs(x);%显示二进制随机序列

axis([025-0.51.5]);%设置横纵坐标范围

title('二进制随机序列')%将图形命名

xlabel('Time');%定义x轴为时间轴

ylabel('Amplitude');%定义y轴表示幅度

figure

(2)

plot(t,y(1:

length(t)),'b-');%显示第二个图

axis([min(t)max(t)-1.51.5]);%设置横纵坐标范围

title('调制后的信号')%将图形命名

figure(3)

z1=ddemod(y,Fc,Fd,Fs,'fsk',M,df);%相干解调

stairs(z1);%显示相干解调后的信号

axis([min(t)max(t)-0.51.5]);%设置横纵坐标范围

title('相干解调后的信号')%将图形命名

xlabel('Time');%定义x轴为时间轴

ylabel('Amplitude');%定义y轴表示幅度

L=length(z1);%相干解调后的信号长度

m=fft(z1,L);%对相干解调后进行傅立叶变换

f=(0:

(L-1))*Fs/L-Fs/2;%频率矢量

figure(4);%显示图形5

plot(f,abs(m));%显示已调信号的频谱图

xlabel('f');%定义x轴为频率轴

ylabel('幅度');%定义y轴表示幅度

title('相干解调后的信号频谱图');%将图形命名

三.总结体会

通过这次实验,基本熟悉了Matlab的使用,通过编程能够实现一定的功能,在本次实验中实现了对信号的幅度,角度和FSK的调制与解调,基本达到了想要得到的结果,在角度调制中,主要对调频信号的分析,没能画出解调后信号的频谱,这是不足的地方。

当然,我只研究了三种调制方式,还有其他的方式,如ASK,PSK等,我仍需要好好钻研这些调制,在本实验中,我没能做到对这三种调制进行比较。

这是需要改进的地方。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1