下载

0下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于 MATLAB 的时域信号采样及频谱分析

基于 MATLAB 的时域信号采样及频谱分析.doc

基于 MATLAB 的时域信号采样及频谱分析

ju艳鞠
2017-10-29 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《基于 MATLAB 的时域信号采样及频谱分析doc》,可适用于社会民生领域

基于MATLAB的时域信号采样及频谱分析基于MATLAB的时域信号采样及频谱分析(转)(::)转载标签:杂谈一、课程设计题目:基于MATLAB的时域信号采样及频谱分析二、基本要求:掌握数字信号处理的基本概念、基本理论和基本方法学会MATLAB的使用掌握MATLAB的程序设计方法学会用MATLAB对信号进行分析和处理信号的各参数需由键盘输入输入不同参数即可得不同的x(t)和x(n)撰写课程设计论文用数字信号处理基本理论分析结果。三、设计方法与步骤:画出连续时间信号的时域波形及其幅频特性曲线其中幅度因子A=衰减因子a=模拟角频率=对信号进行采样得到采样序列其中T=为采样间隔通过改变采样频率可改变T画出采样频率分别为HzHzHz时的采样序列波形对不同采样频率下的采样序列进行频谱分析绘制其幅频和相频曲线对比各频率下采样序列和的幅频曲线有无差别如有差别说明原因。设系统单位抽样响应为求解当输入为时的系统响应画出,,的时域波形及幅频特性曲线并利用结果验证卷积定理的正确性(此内容将参数设置为A=a==T=)。用FFT对信号,,进行谱分析观察与中结果有无差别。由采样序列恢复出连续时间信号画出其时域波形对比与原连续时间信号的时域波形计算并记录两者最大误差。四、详细程序及仿真波形分析:、连续时间信号x(t)及其HzHzHz频率抽样信号函数x(n)绘制信号x(n)的幅度谱和相位谱n=:定义序列的长度是A=input('请输入A的值A:')设置信号的有关参数a=input('请输入a的值a:')w=input('请输入w的值w:')T=T=T=T=x=A*exp(a*n*T)*sin(w*n*T)pi是MATLAB定义的π信号乘可采用“*”y=A*exp(a*n*T)*sin(w*n*T)pi是MATLAB定义的π信号乘可采用“*”y=A*exp(a*n*T)*sin(w*n*T)pi是MATLAB定义的π信号乘可采用“*”y=A*exp(a*n*T)*sin(w*n*T)pi是MATLAB定义的π信号乘可采用“*”closeall清除已经绘制的x(n)图形subplot(,,)stem(n,x),gridon绘制x(n)的图形title('离散时间信号')subplot(,,)plot(n,x),gridontitle('连续时间信号')figure()subplot(,,)stem(n,y),gridontitle('Hz理想采样信号序列')设置结果图形的标题subplot(,,)stem(n,y),gridontitle('Hz连续时间信号')subplot(,,)stem(n,y),gridontitle('Hz连续时间信号')k=:W=(pi)*kw=WpiY=y*(exp(j*pi))^(n'*k)figure()subplot(,,)plot(w,abs(Y))grid,xlabel('w'),ylabel('幅度')title('Hz理想采样信号序列的幅度谱')axis()subplot(,,)plot(w,angle(Y))grid,xlabel('w'),ylabel('幅角')title('Hz理想采样信号序列的相位谱')Y=y*(exp(j*pi))^(n'*k)figure()subplot(,,)plot(w,abs(Y))grid,xlabel('w'),ylabel('幅度')title('Hz理想采样信号序列的幅度谱')axis()subplot(,,)plot(w,angle(Y))grid,xlabel('w'),ylabel('幅角')title('Hz理想采样信号序列的相位谱')Y=y*(exp(j*pi))^(n'*k)figure()subplot(,,)plot(w,abs(Y))grid,xlabel('w'),ylabel('幅度')title('Hz理想采样信号序列的幅度谱')axis()subplot(,,)plot(w,angle(Y))grid,xlabel('w'),ylabel('幅角')title('Hz理想采样信号序列的相位谱')分析:采样频率为Hz时没有失真Hz时有横线产生失真Hz时横线加长失真增大。说明采样频率越大失真越小。、设系统单位抽样响应为求解当输入为时的系统响应画出,,的时域波形及幅频特性曲线并利用结果验证卷积定理的正确性(此内容将参数设置为A=a==T=)。n=:定义序列的长度是hb=zeros(,)注意:MATLAB中数组下标从开始hb()=hb()=hb()=hb()=hb()=closeallsubplot(,,)stem(hb)title('系统hbn')m=:T=定义序列的长度是和采样率A=a=T=w=x=A*exp(a*m*T)*sin(w*m*T)pi是MATLAB定义的π信号乘可采用“*”subplot(,,)stem(x)title('输入信号xn')y=conv(x,hb)subplot(,,)stem(y)title('输出信号yn')figure()subplot(,,)plot(n,hb),gridontitle('矩形序列时域波形')subplot(,,)plot(m,x),gridontitle('输入信号xn时域波形')subplot(,,)plot(m,y),gridontitle('输出信号yn时域波形')分析:在数字信号处理中经常要进行卷积运算MATLAB中有一个内部函数conv可以计算两个有限长序列的卷积该函数计算的两个序列都是从n=开始、用FFT对信号,,进行谱分析观察与中结果有无差别。n=:定义序列的长度是hb=zeros(,)注意:MATLAB中数组下标从开始hb()=hb()=hb()=hb()=hb()=closeallsubplot(,,)m=:T=定义序列的长度是和采样率A=a=T=w=x=A*exp(a*m*T)*sin(w*m*T)pi是MATLAB定义的π信号乘可采用“*”y=conv(x,hb)subplot(,,)plot(n,abs(fft(hb)))title('h(n)的FFT')subplot(,,)plot(n,abs(fft(x)))title('x(n)的FFT')subplot(,,)plot(abs(fft(y)))title('y(n)的FFT')分析:MATLAB中计算矢量x的DFT及其逆变换的函数分别为fft和ifft这两个函数采用了混合算法当N为质数时采用的是原始的DFT算法。函数是用机器语言编写的执行速度混快。N点的FFT调用形式为fft(x,N)。如果x的长度小于N则补零使其成为N点序列如果省略N点即以fft(x)形式调用则按矢量x的长度进行计算如果x表示一个矩阵则调用后计算出每列的N点的FFT。、由采样序列恢复出连续时间信号画出其时域波形对比与原连续时间信号的时域波形计算并记录两者最大误差。A=input('pleaseinputtheA:')设置信号的有关参数a=input('pleaseinputthea:')W=input('pleaseinputtheW:')fs=input('pleaseinputthefs:')采样率n=:定义序列的长度T=fst=aDt=(*a)t=:Dt:txa=A*exp(a*t)*sin(W*t)K=k=::KWmax=*pi*W=Wmax*kKw=WpiXa=xa*exp(j*t'*W)x=A*exp(a*n*T)*sin(W*n*T)figure()subplot(,,)plot(t*,xa)title('连续时间信号x(t)')axis(t*)grid,xlabel('t:毫秒'),ylabel('x(t)')subplot(,,)plot(w,abs(Xa))title('连续时间信号频谱Xa(w)')subplot(,,)stem(x)绘制x(n)图形grid,xlabel('n'),ylabel('x(n)')title('采样序列x(n)')x=spline(n*T,x,t)grid,xlabel('t:毫秒'),ylabel('x(t)')subplot(,,)plot(t*,x)axis(t*)title('由x(n)恢复x(t)')grid,xlabel('t:毫秒'),ylabel('x(t)')errror=max(abs(xxa))k=:W=(pi)*kw=WpiX=x*(exp(j*pi))^(n'*k)序列的傅里叶变换函数figure()subplot(,,)plot(w,abs(X))grid,xlabel('w'),ylabel('幅度')title('输入信号幅度谱')axis()subplot(,,)plot(w,angle(X))grid,xlabel('w'),ylabel('幅角')title('输入信号相位谱')axis()分析:恢复曲线与原信号曲线相同说明恢复误差很小如果采样频率减小误差增大采样频率增大则恢复误差更小。采样频率应遵循乃奎斯特定理。五、调试总结:Axis函数设置图形坐标。Conv函数进行卷积运算。Stem用还绘制离散图谱plot用来绘制连续的函数图形。fft进行fft运算。subplot(,,)plot(n,abs(fft(hb)))title('h(n)的FFT')subplot(,,)plot(n,abs(fft(x)))title('x(n)的FFT')subplot(,,)plot(abs(fft(y)))title('y(n)的FFT')最后一行plot(abs(fft(y)))如果写成plot(nabs(fft(y)))会出现长度不够没有图形输出。六、设计总结:在老师的帮助下我顺利的完成了这个课程设计通过这次数字信号处理课程设计让我了解了关于MATLAB软件在数字信号处理方面的应用又一次学习了MATLAB软件的使用和程序的设计MATLAB的仿真使我更加深入的了解了数字处理的过程对我对数字信号处理的理解加深了一步。MATLAB拥有强大的数据仿真能力在生产和研究中起着非常大的作。MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言Matlab功能强大、简单易学、编程效率高深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱不需具备很强的编程能力就可以很方便地进行信号分析、处理和设计。因此选择用Matlab进行课程设计。在这过程中我遇到了所多的难题通过与老师的交流和学习让我学会了很多在课堂上没有理解的难点。同时也进一步加深了对Matlab的理解和认识。MATLAB软件使得困难、枯燥的数字处理过程变得非常简单不仅能够非常迅速的计算出幅频相频、卷积、DFT、FFT等而且还能自动画出连续、离散的波形曲线。使我们能非常直观的了解数字信号的处理结果。七、主要参考书目:周辉,董正宏《数字信号处理基础及其MATLAB实现》丁玉美,高西全《数字信号处理学习指导与题解》郭仕剑,王宝顺等《MATLABX数字信号处理》楼顺天姚若玉《MATLABX程序设计语言》李行一蔡忠见《数字信号处理》程佩青《数字信号处理教程》刘敏魏玲.Matlab通信仿真与应用

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/10

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利