基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx

上传人:b****5 文档编号:18077971 上传时间:2022-12-13 格式:DOCX 页数:8 大小:18.13KB
下载 相关 举报
基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx_第1页
第1页 / 共8页
基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx_第2页
第2页 / 共8页
基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx_第3页
第3页 / 共8页
基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx_第4页
第4页 / 共8页
基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx

《基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

基于MATLAB的时域信号采样及频谱分析Word文档下载推荐.docx

%定义序列的长度是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);

%pi是MATLAB定义的π,信号乘可采用“.*”

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);

closeall%清除已经绘制的x(n)图形

subplot(2,1,1);

stem(n,x),gridon%绘制x(n)的图形

title('

离散时间信号'

subplot(2,1,2);

plot(n,x),gridon

连续时间信号'

figure

(2)

subplot(3,1,1);

stem(n,y1),gridon

200Hz理想采样信号序列'

%设置结果图形的标题

subplot(3,1,2);

stem(n,y2),gridon

500Hz连续时间信号'

subplot(3,1,3);

stem(n,y3),gridon

1000Hz连续时间信号'

k=-25:

25;

W=(pi/12.5)*k;

w=W/pi;

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

*k);

figure(3)

plot(w,abs(Y1));

grid,xlabel('

w'

),ylabel('

幅度'

200Hz理想采样信号序列的幅度谱'

axis([-2201000]);

plot(w,angle(Y1));

幅角'

title('

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

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

figure(4)

plot(w,abs(Y2));

500Hz理想采样信号序列的幅度谱'

plot(w,angle(Y2));

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

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

figure(5)

plot(w,abs(Y3));

1000Hz理想采样信号序列的幅度谱'

plot(w,angle(Y3));

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

分析:

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

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

2、设系统单位抽样响应为,求解当输入为时的系统响应,画出,,的时域波形及幅频特性曲线,并利用结果验证卷积定理的正确性(此内容将参数设置为A=1,a=0.4,=2.0734,T=1)。

n=1:

%定义序列的长度是50

hb=zeros(1,50);

%注意:

MATLAB中数组下标从1开始

hb

(1)=1;

hb

(2)=1;

hb(3)=1;

hb(4)=1;

hb(5)=1;

closeall;

subplot(3,1,1);

stem(hb);

系统hb[n]'

m=1:

T=1;

%定义序列的长度是和采样率

A=1;

a=0.4;

T=1;

w0=2.0734;

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

%pi是MATLAB定义的π,信号乘可采用“.*”

stem(x);

输入信号x[n]'

y=conv(x,hb);

stem(y);

输出信号y[n]'

plot(n,hb),gridon

矩形序列时域波形'

plot(m,x),gridon

输入信号x[n]时域波形'

plot(m,y),gridon

输出信号y[n]时域波形'

在数字信号处理中经常要进行卷积运算,MATLAB中有一个内部函数conv可以计算两个有限长序列的卷积,该函数计算的两个序列都是从n=0开始

3、用FFT对信号,,进行谱分析,观察与④中结果有无差别。

plot(n,abs(fft(hb)))

h(n)的FFT'

plot(n,abs(fft(x)))

x(n)的FFT'

plot(abs(fft(y)))

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、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形,计算并记录两者最大误差。

pleaseinputtheA:

%设置信号的有关参数

pleaseinputthea:

W0=input('

pleaseinputtheW0:

fs=input('

pleaseinputthefs:

%采样率

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);

连续时间信号x(t)'

axis([0t0*10000200]);

t:

毫秒'

x(t)'

subplot(4,1,2);

plot(w1,abs(Xa));

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

subplot(4,1,3);

stem(x)%绘制x(n)图形

n'

x(n)'

采样序列x(n)'

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

subplot(4,1,4);

plot(t*1000,x1);

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

x1(t)'

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

k2=-25:

W2=(pi/12.5)*k2;

w2=W2/pi;

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

*k2);

%序列的傅里叶变换函数

figure

(2);

plot(w2,abs(X));

w2'

输入信号幅度谱'

plot(w2,angle(X));

输入信号相位谱'

axis([-22-55]);

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

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

五、调试总结:

Axis函数设置图形坐标。

Conv函数进行卷积运算。

Stem用还绘制离散图谱,plot用来绘制连续的函数图形。

fft进行fft运算。

plot(n,abs(fft(hb)))title('

plot(n,abs(fft(x)))title('

plot(abs(fft(y)))title('

最后一行plot(abs(fft(y)))如果写成plot(n,abs(fft(y)))会出现长度不够,没有图形输出。

六、设计总结:

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

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

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

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

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

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

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

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

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

七、主要参考书目:

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

[2]丁玉美,高西全.《数字信号处理学习指导与题解》

[3]郭仕剑,王宝顺等.《MATLAB7.X数字信号处理》

[4]楼顺天,姚若玉.《MATLAB7.X程序设计语言》

[5]李行一,蔡忠见.《数字信号处理》

[6]程佩青.《数字信号处理教程》

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

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

当前位置:首页 > 小学教育 > 语文

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

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