基于Matlab的频谱分析Word下载.docx
- 文档编号:14368581
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:92.97KB
基于Matlab的频谱分析Word下载.docx
《基于Matlab的频谱分析Word下载.docx》由会员分享,可在线阅读,更多相关《基于Matlab的频谱分析Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
若,那么信号与的频谱之间存在:
其中:
的频谱为,的频谱为。
可见,信号时域抽样致使信号频谱的周期化。
(rad/s)为抽样角频率,为抽样频率。
数字角频率Ω与模拟角频率ω的关系为:
Ω=ωT。
二、离散傅立叶变换(DFT)
有限长序列的离散傅立叶变换(DFT)为
逆变换为
3、快速傅立叶变换(FFT)
在各类信号序列中,有限长序列占重腹地位。
对有限长序列能够利用离散傅立叶变换(DFT)进行分析。
DFT不但能够专门好的反映序列的频谱特性,而且易于用快速算法(FFT)在运算机上进行分析。
有限长序列的DFT是其z变换在单位圆上的等距离采样,或说是序列傅立叶的等距离采样,因此能够用于序列的谱分析。
FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为假设干小数据点的组合,从而减少运算量。
MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰硕的数学函数,要紧有Fft、Ifft、Fft2、Ifft2,Fftn、ifftn和Fftshift、Ifftshift等。
当所处置的数据的长度为2的幂次时,采纳基-2算法进行计算,计算速度会显著增加。
因此,要尽可能使所要处置的数据长度为2的幂次或用添零的方式来添补数据使之成为2的幂次。
Fft函数挪用方式:
、Y=fft(X);
、Y=fft(X,N);
、Y=fft(X,[],dim)或Y=fft(X,N,dim)。
函数Ifft的参数应用与函数Fft完全相同。
三.实验内容与步骤
1、为了说明高密度频谱和高分辨率频谱之间的区别,考察序列x(n)有限个样本的频谱。
当时,求x(n)的DFT.
程序:
functionDFTX1
N=input('
请输入离散信号的长度:
'
);
n=0:
N-1;
k=0:
xn=cos*n*pi)+cos*n*pi);
WN=exp(-j*2*pi/N);
nk=n'
*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
subplot(2,1,1)
stem(n,xn);
title('
x(n):
gridon;
subplot(2,1,2)
stem(k,abs(Xk));
x(n)的DFT:
>
DFTX1
10
100
频谱图:
二、已知一模拟信号,此刻采样率进行采样。
用DFT计算当序列长度别离为L=100,L=20时,N=200点的幅度频谱样值并通过作图与理论上准确的频谱样值进行比较。
程序:
L1=100;
L2=20;
t1=0:
L1-1;
x1=exp(-t1/20);
t2=0:
L2-1;
x2=exp(-t2/20);
N=0:
199;
WN=exp(-j*2*pi/length(N));
nk1=t1'
*N;
nk2=t2'
WNnk1=WN.^nk1;
WNnk2=WN.^nk2;
Xk1=x1*WNnk1;
Xk2=x2*WNnk2;
subplot(4,1,1)
stem(t1,x1);
序列长度L=100时x(n)图:
subplot(4,1,3)
stem(t2,x2);
序列长度L=20时x(n)图:
subplot(4,1,2)
stem(N,abs(Xk1));
序列长度L=100时x(n)的DFT图:
subplot(4,1,4)
stem(N,abs(Xk2));
序列长度L=20时x(n)的DFT图:
实验图:
3、一个持续信号含三个频谱分量,经采样得以下序列:
(1)N=64,df别离为、1/64,观看其频谱;
functiondftx3(df)
N=64;
k=0:
127;
xn=sin(2*pi**n)+cos(2*pi*+df)*n)+cos(2*pi*+2*df)*n);
WN=exp(-j*2*pi/length(k));
plot(n,xn);
df=1/16,长度为N=64的有限序列x(n)图:
plot(abs(Xk(1:
64)));
取上图x(n)做128点的DFT图:
dftx3(1/16)
dftx3(1/64)
(2)N=64、128,df为1/64,做128点得FFT,其结果有何不同?
n1=0:
63;
n2=0:
df=1/64;
x1=sin(2*pi**n1)+cos(2*pi*+df)*n1)+cos(2*pi*+2*df)*n1);
x2=sin(2*pi**n2)+cos(2*pi*+df)*n2)+cos(2*pi*+2*df)*n2);
y1=fft(x1,128);
y2=fft(x2,128);
subplot(3,1,1)
plot(n2,x2);
有限序列x(n):
subplot(3,1,2)
plot(abs(y1(1:
取有限序列x(n)长度N=64的128点FFT图:
subplot(3,1,3)
plot(abs(y2(1:
取有限序列x(n)长度N=128的128点FFT图:
4、被噪声污染的信号,较难看出所包括得频率分量,如一个由50Hz和120Hz正弦信号组成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用FFT函数来分析其信号频率成份,要求:
(1)画出时域波形;
(2)分析信号功率谱密度。
注:
在MATLAB中,可用函数rand(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。
t=0:
:
1;
x=sin(2*pi*50*t)+sin(2*pi*120*t)+rand(size(t));
plot(x(1:
50));
由50Hz和120Hz正弦信号组成且受噪声污染的信号图:
gridon;
Y=fft(x,512);
plot(abs(Y).^2);
受污染信号功率谱密度图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 频谱 分析