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

上传人:b****1 文档编号:754663 上传时间:2023-04-30 格式:DOCX 页数:15 大小:85.59KB
下载 相关 举报
基于MATLAB 的时域信号采样及频谱分析.docx_第1页
第1页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第2页
第2页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第3页
第3页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第4页
第4页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第5页
第5页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第6页
第6页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第7页
第7页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第8页
第8页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第9页
第9页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第10页
第10页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第11页
第11页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第12页
第12页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第13页
第13页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第14页
第14页 / 共15页
基于MATLAB 的时域信号采样及频谱分析.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《基于MATLAB 的时域信号采样及频谱分析.docx》由会员分享,可在线阅读,更多相关《基于MATLAB 的时域信号采样及频谱分析.docx(15页珍藏版)》请在冰点文库上搜索。

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

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

 

湖南文理学院

系统建模与设计报告

 

专业班级:

电信1010304学生姓名:

学生学号:

指导教师:

设计时间:

2012.12.12

 

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

一、课程设计目的

1、学习MATLAB软件的使用.

2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。

二、基本要求

①掌握数字信号处理的基本概念、基本理论和基本方法;

②学会MATLAB的使用,掌握MATLAB的程序设计方法;

③学会用MATLAB对信号进行分析和处理;

④信号的各参数需由键盘输入,输入不同参数即可得不同的x(t)和x(n);

⑤撰写课程设计论文,用数字信号处理基本理论分析结果。

3、设计方法与步骤

①画出连续时间信号

的时域波形及其幅频特性曲线,其中幅度因子A=444.128,衰减因子a=222.144,模拟角频率

=222.144;

②对信号

进行采样,得到采样序列

,其中T=

为采样间隔,通过改变采样频率可改变T,画出采样频率分别为200Hz,500Hz,1000Hz时的采样序列波形;

③对不同采样频率下的采样序列进行频谱分析,绘制其幅频和相频曲线,对比各频率下采样序列

的幅频曲线有无差别,如有差别说明原因。

④设系统单位抽样响应为

,求解当输入为

时的系统响应

,画出

的时域波形及幅频特性曲线,并利用结果验证卷积定理的正确性(此内容将参数设置为A=1,a=0.4,

=2.0734,T=1)。

⑤用FFT对信号

进行谱分析,观察与④中结果有无差别。

⑥由采样序列

恢复出连续时间信号

,画出其时域波形,对比

与原连续时间信号

的时域波形,计算并记录两者最大误差。

四、详细程序及仿真波形分析:

1、连续时间信号x(t)及其200Hz/500Hz/1000Hz频率抽样信号函数x(n)

closeall;

n=0:

50;

A=input('请输入A的值A:

');

a=input('请输入a的值a:

');

w0=input('请输入w0的值w0:

');

T1=0.005;

T2=0.002;

T3=0.001;

T0=0.001;

x=A*exp(-a*n*T0).*sin(w0*n*T0);

y1=A*exp(-a*n*T1).*sin(w0*n*T1);

y2=A*exp(-a*n*T2).*sin(w0*n*T2);

y3=A*exp(-a*n*T3).*sin(w0*n*T3);

subplot(2,1,1);plot(n,x),gridon

title('连续时间信号')

subplot(2,1,2);stem(n,x),gridon

title('离散时间信号')

figure

(2)

subplot(3,1,1);stem(n,y1),gridon

title('200Hz连续时间信号');

subplot(3,1,2);stem(n,y2),gridon

title('500Hz连续时间信号');

subplot(3,1,3);stem(n,y3),gridon

title('1000Hz连续时间信号');

k=-25:

25;

W=(pi/12.5)*k;

w=W/pi;

Y1=y1*(exp(-j*pi/12.5)).^(n'*k);

figure(3)

subplot(2,1,1);plot(w,abs(Y1));grid,xlabel('w'),ylabel('幅度');

title('200Hz理想采样信号序列的幅度谱');

axis([-2201000]);

subplot(2,1,2);plot(w,angle(Y1));grid,xlabel('w'),ylabel('幅角');

title('200Hz理想采样信号序列的相位谱')

Y2=y2*(exp(-j*pi/12.5)).^(n'*k);

figure(4)

subplot(2,1,1);plot(w,abs(Y2));grid,xlabel('w'),ylabel('幅度');

title('500Hz理想采样信号序列的幅度谱');

axis([-2201000]);

subplot(2,1,2);plot(w,angle(Y2));grid,xlabel('w'),ylabel('幅角');

title('500Hz理想采样信号序列的相位谱')

Y3=y3*(exp(-j*pi/12.5)).^(n'*k);

figure(5)

subplot(2,1,1);plot(w,abs(Y3));grid,xlabel('w'),ylabel('幅度');

title('1000Hz理想采样信号序列的幅度谱');

axis([-2201000]);

subplot(2,1,2);plot(w,angle(Y3));grid,xlabel('w'),ylabel('幅角');

title('1000Hz理想采样信号序列的相位谱')

运行此MATLAB程序,根据提示输入:

幅度因子A=444.128,衰减因子a=222.144,模拟角频率

=222.144;

得如下图形:

经分析可得:

采样频率为1000Hz时没有失真,500Hz时有横线,产生失真,200Hz时横线加长,失真增大。

说明采样频率越大失真越小。

 

2、设系统单位抽样响应为

,求解当输入为

时的系统响应

,画出

的时域波形及幅频特性曲线,并利用结果验证卷积定理的正确性(此内容将参数设置为A=1,a=0.4,

=2.0734,T=1)。

n=1:

50;

hb=zeros(1,50);

hb

(1)=1;hb

(2)=1;hb(3)=1;hb(4)=1;hb(5)=1;

closeall;subplot(3,1,1);stem(hb);title('系统hb[n]');gridon;

m=1:

50;T=1;

A=1;a=0.4;T=1;w0=2.0734;

x=A*exp(-a*m*T).*sin(w0*m*T);

subplot(3,1,2);stem(x);title('输入信号x[n]');gridon;

y=conv(x,hb);

subplot(3,1,3);stem(y);title('输出信号y[n]');gridon;

figure

(2)

subplot(3,1,1);plot(n,hb),gridon

title('矩形序列时域波形');

subplot(3,1,2);plot(m,x),gridon

title('输入信号x[n]时域波形');

subplot(3,1,3);plot(m,y);

grid,title('输出信号y[n]时域波形');

3、用FFT对信号

进行谱分析,观察与④中结果有无差别。

n=1:

50;

hb=zeros(1,50);

hb

(1)=1;hb

(2)=1;hb(3)=1;hb(4)=1;hb(5)=1;

closeall;subplot(3,1,1);

m=1:

50;T=1;

A=1;a=0.4;T=1;w0=2.0734;

x=A*exp(-a*m*T).*sin(w0*m*T);

y=conv(x,hb);

subplot(3,1,1);plot(n,abs(fft(hb))),gridon;

title('h(n)的FFT')

subplot(3,1,2);plot(n,abs(fft(x))),gridon;

title('x(n)的FFT')

subplot(3,1,3);plot(abs(fft(y)));gridon;

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。

4、由采样序列

恢复出连续时间信号

,画出其时域波形,对比

与原连续时间信号

的时域波形,计算并记录两者最大误差。

closeall;

A=input('pleaseinputtheA:

');

a=input('pleaseinputthea:

');

W0=input('pleaseinputtheW0:

');

fs=input('pleaseinputthefs:

');

n=0:

49;

T=1/fs;

t0=10/a;

Dt=1/(5*a);

t=0:

Dt:

t0;

xa=A*exp(-a*t).*sin(W0*t);

K1=50;

k1=0:

1:

K1;

W1max=2*pi*500;

W1=W1max*k1/K1;

w1=W1/pi;

Xa=xa*exp(-j*t'*W1);

x=A*exp(-a*n*T).*sin(W0*n*T);

figure

(1);

subplot(4,1,1);

plot(t*1000,xa),gridon;

title('连续时间信号x(t)');

axis([0t0*1000-50200]);

xlabel('t:

毫秒'),ylabel('x(t)');

subplot(4,1,2);

plot(w1,abs(Xa)),gridon;

title('连续时间信号频谱Xa(w1)');

subplot(4,1,3);

stem(x)

grid,xlabel('n'),ylabel('x(n)');

title('采样序列x(n)');

x1=spline(n*T,x,t);

grid,xlabel('t:

毫秒'),ylabel('x(t)');

subplot(4,1,4);

plot(t*1000,x1);gridon;

axis([0t0*1000-50200]);

title('由x(n)恢复x1(t)');

xlabel('t:

毫秒'),ylabel('x1(t)');

errror=max(abs(x1-xa));

k2=-25:

25;

W2=(pi/12.5)*k2;

w2=W2/pi;

X=x*(exp(-j*pi/12.5)).^(n'*k2);

figure

(2);

subplot(2,1,1);

plot(w2,abs(X));

grid,xlabel('w2'),ylabel('幅度');

title('输入信号幅度谱')

axis([-2201000]);

subplot(2,1,2);

plot(w2,angle(X));

grid,xlabel('w2'),ylabel('幅角');

title('输入信号相位谱');

axis([-22-55]);

运行此MATLAB程序,根据提示输入:

幅度因子A=444.128,衰减因子a=222.144;

模拟角频率

=222.144,采样频率fs=1000Hz;

得如下图形:

 

 

分析:

恢复曲线与原信号曲线相同,说明恢复误差很小,如果采样频率减小,误差增大,采样频率增大,则恢复误差更小。

采样频率应遵循乃奎斯特定理。

 

4、总结与体会

在曹老师的帮助下我们顺利的完成了这个课程设计,通过这次数字信号处理课程设计,让我了解了关于MATLAB软件在数字信号处理方面的应用,又一次学习了MATLAB软件的使用和程序的设计,MATLAB的仿真使我更加深入的了解了数字处理的过程,对我们对数字信号处理的理解加深了一步。

MATLAB拥有强大的数据仿真能力,在生产和研究中起着非常大的作。

MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。

因此,选择用Matlab进行课程设计。

在这过程中我们遇到了所多的难题,通过与老师的交流和学习,让我们学会了很多在课堂上没有理解的难点。

同时也进一步加深了对Matlab的理解和认识。

MATLAB软件使得困难、枯燥的数字处理过程变得非常简单,不仅能够非常迅速的计算出幅频相频、卷积、DFT、FFT等,而且还能自动画出连续、离散的波形曲线。

使我们能非常直观的了解数字信号的处理结果。

五、参考文献

[1]周辉,董正宏.《数字信号处理基础及其MATLAB实现》

[2]刘敏,魏玲.《Matlab通信仿真与应用》

 

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2