matlab频谱分析Word下载.doc
- 文档编号:5198734
- 上传时间:2023-05-04
- 格式:DOC
- 页数:10
- 大小:39.50KB
matlab频谱分析Word下载.doc
《matlab频谱分析Word下载.doc》由会员分享,可在线阅读,更多相关《matlab频谱分析Word下载.doc(10页珍藏版)》请在冰点文库上搜索。
%绘制带网格的图像
sf=filter(a,b,s);
%叠加函数S经过低通滤波器以后的新函数
subplot(222);
plot(t,sf);
%绘制叠加函数S经过低通滤波器以后的时域图形
xlabel('
时间(seconds)'
ylabel('
时间按幅度'
SF=fft(sf,256);
%对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=%新信号角频率
subplot(223);
plot());
%绘制叠加函数S经过低通滤波器以后的频谱图
title('
低通滤波后的频谱图'
%设计高通滤波器
%估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc
[a,b]=butter(N,Wc,'
high'
%设计Butterworth高通滤波器
%求数字高通滤波器的频率响应
figure(3);
%绘制Butterworth高通滤波器的幅频响应图
巴氏高通滤波器'
sf=filter();
%叠加函数S经过高通滤波器以后的新函数
;
%绘制叠加函数S经过高通滤波器以后的时域图形
Time(seconds)'
Timewaveform'
w;
%新信号角频率
%绘制叠加函数S经过高通滤波器以后的频谱图
高通滤波后的频谱图'
%设计带通滤波器
[N,Wc]=buttord([)
%估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc
%设计Butterworth带通滤波器
%求数字带通滤波器的频率响应
figure(4);
%绘制Butterworth带通滤波器的幅频响应图
butterbandpassfilter'
%叠加函数S经过带通滤波器以后的新函数
%绘制叠加函数S经过带通滤波器以后的时域图形
SF=fft();
%对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换
w=(%新信号角频率
plot('
));
%绘制叠加函数S经过带通滤波器以后的频谱图
带通滤波后的频谱图'
matlab如何做频谱分析
%----------------------------------------------------------------------------------------------------------------
%方案1:
“x=a*cos(2*pi*w*t)”的形式:
%注意:
1.时域的持续时间范围应较大;
%
2.频率w与序列k的对应关系(N为序列总长度):
w=1/dt*k/N;
3.采样频率1/dt应大于w的2倍
4.结果曲线的峰值的横坐标对应的就是w和-w值
a=0.75;
w=pi/3;
dt=0.2;
t=[-30*pi:
dt:
30*pi];
N=size(t,2);
x=a*cos(2*pi*w*t);
y=fft(x);
y=fftshift(y);
figure;
subplot(2,1,1);
plot(t,x);
subplot(2,1,2);
plot(1/dt*(-N/2+1:
N/2)/N,abs(y));
%方案2:
“x=a*cos(w*t)”的形式:
w=1/dt*2*pi*k/N;
3.采样频率1/dt应大于w/(2*pi)的2倍
dt=1;
t=[-20*pi:
20*pi];
x=a*cos(w*t);
plot(1/dt*2*pi*(-N/2:
N/2-1)/N,abs(y));
备注:
由于使用了fftshift,所以得到的频谱序列关于原点对称,如果不需要负半轴的话自行修改一下就ok了
functionf=frequency(x,fs)
dtlen=length(x);
t=(0:
dtlen-1)/fs;
subplot(211);
axistight;
y=abs(fft(x))*2/dtlen;
ff=(0:
dtlen/2-1)*fs/dtlen;
subplot(212);
f=y(1:
floor(dtlen/2));
plot(ff,f);
return;
Matlab编程实现FFT实践及频谱分析
内容
1.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图
2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选
3.做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱
4.用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图
源程序
%*************************************************************************%
FFT实践及频谱分析
%
%***************1.正弦波****************%
fs=100;
%设定采样频率
N=128;
n=0:
N-1;
t=n/fs;
f0=10;
%设定正弦信号频率
%生成正弦信号
x=sin(2*pi*f0*t);
figure
(1);
subplot(231);
%作正弦信号的时域波形
t'
y'
正弦信号y=2*pi*10t时域波形'
%进行FFT变换并做频谱图
y=fft(x,N);
%进行fft变换
mag=abs(y);
%求幅值
f=(0:
length(y)-1)'
*fs/length(y);
%进行对应的频率转换
subplot(232);
plot(f,mag);
%做频谱图
axis([0,100,0,80]);
频率(Hz)'
幅值'
正弦信号y=2*pi*10t幅频谱图N=128'
%求均方根谱
sq=abs(y);
subplot(233);
plot(f,sq);
均方根谱'
正弦信号y=2*pi*10t均方根谱'
%求功率谱
power=sq.^2;
subplot(234);
plot(f,power);
功率谱'
正弦信号y=2*pi*10t功率谱'
%求对数谱
ln=log(sq);
subplot(235);
plot(f,ln);
对数谱'
正弦信号y=2*pi*10t对数谱'
%用IFFT恢复原始信号
xifft=ifft(y);
magx=real(xifft);
ti=[0:
length(xifft)-1]/fs;
subplot(236);
plot(ti,magx);
通过IFFT转换的正弦信号波形'
%****************2.矩形波****************%
fs=10;
t=-5:
0.1:
5;
x=rectpuls(t,2);
x=x(1:
99);
plot(t(1:
99),x);
%作矩形波的时域波形
矩形波时域波形'
y=fft(x);
矩形波幅频谱图'
矩形波均方根谱'
矩形波功率谱'
矩形波对数谱'
通过IFFT转换的矩形波波形'
%****************3.白噪声****************%
x=zeros(1,100);
x(50)=100000;
100),x);
%作白噪声的时域波形
白噪声时域波形'
白噪声幅频谱图'
白噪声均方根谱'
白噪声功率谱'
白噪声对数谱'
通过IFFT转换的白噪声波形'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 频谱 分析
![提示](https://static.bingdoc.com/images/bang_tan.gif)