DSBSC和解调的实现.docx

上传人:b****3 文档编号:5221383 上传时间:2022-12-14 格式:DOCX 页数:10 大小:47.59KB
下载 相关 举报
DSBSC和解调的实现.docx_第1页
第1页 / 共10页
DSBSC和解调的实现.docx_第2页
第2页 / 共10页
DSBSC和解调的实现.docx_第3页
第3页 / 共10页
DSBSC和解调的实现.docx_第4页
第4页 / 共10页
DSBSC和解调的实现.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

DSBSC和解调的实现.docx

《DSBSC和解调的实现.docx》由会员分享,可在线阅读,更多相关《DSBSC和解调的实现.docx(10页珍藏版)》请在冰豆网上搜索。

DSBSC和解调的实现.docx

DSBSC和解调的实现

设计要求:

对于信号

(其中

,载波为

),用抑制载波的双边带调幅实现对信号进行调制和解调。

要求:

采用matlab或者其它软件工具实现对信号进行抑制载波双边带调幅(DSB-SC)和解调,并且绘制:

(1)信号

及其频谱;

(2)载波

(3)DSB-SC调制信号及其频谱;

(4)DSB-SC调制信号的功率谱密度;

(5)相干解调后的信号波形。

说明:

采用matlab实现时可以使用matlab工具箱中的函数。

 

 

抑制载波双边带调幅(DSB-SC)和解调的实现

一、设计目的和意义

通过数字通信课程设计对以前所学的有关数字信号处理和通信电路方面的知识做全面的梳理,对通信信号的调制、滤波、解调、分析,进一步理解和掌握通信信号工作的原理。

通过课程设计中对Matlab及其工具箱函数的运用,学会运用Matlab软件环境对通信信号进行处理和分析

二、设计原理

如果输入的基带信号没有直流分量,则得到的输出信号就是无载波分量的双边带调制信号,简称DSB信号。

此时的DSB信号实质上就是m(t)和载波

的相乘,其时域表达式为:

其波形图如图所示。

图1抑制载波双边带波形

抑制载波双边带调幅信号的频谱

  抑制载波双边带调幅的调制过程实际上就是调制信号与载波的相乘运算,其模型如下:

图2抑制载波双边带调幅调制模型

  由抑制载波双边带调幅信号的频谱可知,如果将已调信号的频谱搬回到原点位置,即可得到原始的调制信号频谱,从而恢复出原始信号。

解调中的频谱搬移同样可用调制时的相乘运算来实现。

图3抑制载波双边带调制的相干解调

    将已调信号乘上一个同频同相的载波,如图,可得到

  用一个带通滤波器可以将上式中第1项和第2项分离,无失真地恢复出原始的调制信号。

这种调制方法又称为相干解调。

 

三、详细设计步骤

(1)信号和载波的Matlab语言编写

按设计要求的内容编写信号(辛格函数)和载波,并绘制出其波形。

(2)信号频谱的Matlab语言编写

根据设计要求中信号的表达示,通过求傅立叶变换来实现信号的频谱,利用fft算法实现函数图的画法。

(3)信号的调制

对信号按要求进行调制,并绘制出已调信号的波形图和频谱

由调制原理知:

其过程就是调制信号与载波的相乘运算。

故将上述两个信号相乘,就可以得出已调信号,再用傅立叶变换来实现已调信号的频谱。

(4)解调已调信号

已调信号的解调必须用相干解调的方法,是将已调信号乘上一个同频同相的载波。

然后用用一个低通滤波器就可以恢复原始的调制信号。

(5)已调信号的功率谱分析

通过对自相关函数的求解,绘制已调信号的功率谱密度

设计结果及分析

(1) 原始信号为辛格函数

图4.待调制信号的波形图

图5.待调制信号的频谱图

(2)载波信号为余弦,

,波形如图所示

图6.载波信号的波形图

(3) 信号的调制,已调信号则是由原信号与载波信号相乘。

根据信号调制的原理,调制后的信号的包络应该和原始信号的相似,而频率则和载波信号的频率相同,通过已调信号波形对原始信号和载波信号的分析和比对,可以认为调制的结果是正确的。

通过对信号的频谱分析,也可以看出调制的过程就是信号频谱搬移的过程,也可以严整信号的调制是否正确。

图7.已调信号的波形图

图8.已调信号的频谱图

(4)对信号的解调就是已调信号乘上一个同频同相的载波

),然后低通滤波器进行滤波,得到的图形和原始信号基本相同。

图9解调信号的波形图

图10.解调信号的频谱图

图11.解调恢复出的原始信号图

(6)对已调信号进行功率谱密度分析,求其自相关函数,然后在把自相关函数经过傅立叶变换,此时即可得到相应的功率谱密度函数波形

图12.已调信号的功率谱密度

        通过以上可知,对信号进行调制解调的一般过程就是首先绘制待调制信号和载波信号,然后把他们相乘,也就是调制,通过相干解调恢复原始信号,通过乘一个同频同相的载波信号,在进行滤波就可以近似恢复到原始信号。

四、体会

在Matlab软件环境下,按设计要求的内容完成了对“抑制载波双边带佻幅(DSB-SC)和解调的实现”的设计。

通过这次设计,我熟练得掌握了Matlab环境下的操作方法和步骤,通过对设计内容的理解和认识,进一步加深了对信号调制过程的理解,由于设计过程中运用了数字信号处理的知识,在学习通信原理的同时又对数字信号处理的知识做了巩固,包括其中傅立叶变换、滤波器的设计等等

在设计的过程中也遇到了很多问题,比如程序参数的设计,由于参数设计的不确切,对设计结果有很大的影响,通过反复的实验和向同学们求助,一步一步的完成了对课程的设计。

有了这次的课程设计,深深的认识到我们所学课程设计之间的联系是多么的紧密,通过综合的课程设计可以把我们所学的知识融会贯通,做再一次的消化和吸收,从中我也感觉到了自己的不足,对知识的掌握力度不够,对知识的变通和运用也不够灵活,今后要加强对综合知识的运用,通过综合的设计全面的掌握通信方面的知识,形成一个体系,为以后的学习和工作打下好的基础。

五、参考文献

[1].曹志刚.现代通信原理.北京:

清华大学出版社.2007

[2].程佩青. 数字信号处理教程. 北京:

清华大学出版社,2007

[3].刘敏\魏玲编著.MATLAB通信仿真与应用.北京:

国防工业出版社

附:

原程序代码

主程序:

clear

t0=2;ts=0.001;

fc=100;fs=1/ts;

df=0.3;

t=[-t0/2:

ts:

t0/2];

x=sin(200*t);

m=x./(200*t);

m(1001)=1;

c=cos(2*pi*fc.*t);

u=m.*c;

[M,m,df1]=fftseq(m,ts,df);%对信号做傅立叶变换

M=M/fs;

[U,u,df1]=fftseq(u,ts,df);

U=U/fs;

s=x./(200*t);

i=s.*c;

y=i.*c;

[Y,y,df1]=fftseq(y,ts,df);

Y=Y/fs;

n=100;

n=floor(100/df1);

f=[0:

df1:

df1*(length(y)-1)]-fs/2;

H=zeros(size(f));

H(1:

n)=2*ones(1,n);

H(length(f)-n+1:

length(f))=2*ones(1,n);

L=H.*Y;

dem=real(ifft(L))*fs;

subplot(2,1,1)

plot(t,m(1:

length(t)))

axis([-0.1,0.1,-1,1.1]);

title('待调制信号');%画出原始信号

subplot(2,1,2)

plot(f,abs(fftshift(M)))

xlabel('待调信号的频谱');%画原始信号的频谱

pause

subplot(2,1,1)

plot(t,c(1:

length(t)))

axis([-0.1,0.1,-1.5,1.5]);

title('载波信号');%画出载波信号

subplot(2,1,2)

plot(t,u(1:

length(t)))

axis([-0.1,0.1,-1,1.2]);

title('已调信号');%画出已调信号

pause

subplot(2,1,1)

plot(f,abs(fftshift(U)))

title('已调信号的频谱');%画出已调信号的频谱

subplot(2,1,2)

plot(t,y(1:

length(t)))

axis([-0.1,0.1,-1,1.2]);

title('解调信号的波形');%画出解调信号

pause

subplot(2,1,1)

plot(f,abs(fftshift(Y)))

title('解调信号的频谱');%画出解调信号的频谱

subplot(2,1,2);

plot(t,dem(1:

length(t)));

axis([-0.1,0.1,-1,1.2]);

title('解调后波形');%画出解调出来的信号

t0=2;

ts=0.001;

fc=100;

fs=1/ts;

df=0.3;

t=[-t0/2:

ts:

t0/2];

x=sin(200*t);

m=x./(200*t);

m(1001)=1;

c=cos(2*pi*fc.*t);

xn=m.*c;

nfft=1024;

cxn=xcorr(xn,'unbiased');%计算序列的自相关函数

CXk=fft(cxn,nfft);

Pxx=abs(CXk);

index=0:

round(nfft/2-1);

k=index*fs/nfft;

plot_Pxx=10*log10(Pxx(index+1));

subplot(2,1,2)

plot(k,plot_Pxx);

title('已调信号的功率谱密度');%画出已调信号的功率谱密度

子函数

function[M,m,df]=fftseq(m,tz,df)

m(1001)=1;

tz=0.001;

df=0.3;

fz=1/tz;

ifnargin==2

n1=0;

elsen1=fz/df;

end

n2=length(m);

n=2^(max(nextpow2(n1),nextpow2(n2)));

M=fft(m,n);

m=[m,zeros(1,n-n2)];

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

当前位置:首页 > 解决方案 > 学习计划

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

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