频谱扩展 matlab,使用matlab进行频谱分析 | 学步园 -ag凯发k8国际
考研复试数字信号处理,今天遇到个问题,想用matlab验证一下自己的想法,刚一用发现手生了不少,以前这东西我用的可是非常熟练,哎!编程这东西要经常玩才行哟!今天把笔记给记下来,不然以后用时有得半天找资料的!
一、用fft进行频谱分析,探讨频率分辨率与频谱分析的关系:
是fft分析代码
clear all ;%清空内存变量
clc ;%清屏
%确定傅里叶分析常数
fs=256;%采样频率
tp=0.25 ;%采样持续时间,这里可以使用不同的采样时间,观察采样分辨率对频谱分析的影响,
%如果tp=0.2,下面信号频率为10就看不到,如果是0.25频率分辨率刚好为2,可以看到频率为8和10的分量,
%原始信号
f1=10 ;%频率一
f2=8 ;%频率二
t=0:1/fs:tp ;
figure(1) ;
y=cos(2*pi*f1*t) cos(2*pi*f2*t) ; %原始信号
stem(t,y) ;%画出原始信号
%傅里叶变换
n=2^(ceil(log2(length(y)))) %确定信号fft长度
f=fs/n %频率分辨率
y_fft=fft((y),n) ;%快速傅里叶变换
f=0:fs/(n-1):fs ;
figure(2) ;
stem(f,abs(y_fft)) ;
axis([0,20,0,100]) ;
二、观察一个信号后面补零,对其dft的影响,通过实验发现没有什么影响!信号补零方法我找了老半天,忘记序列组合方式和产生零序列的方法,这里给记住了:y=[y,zeros(1,100)] ;
三、对原始信号进行零插值,观察信号频谱,发现信号频谱收缩了
四、对原始信号进行抽取,发现原始信号频谱扩展了
总结
以上是ag凯发k8国际为你收集整理的频谱扩展 matlab,使用matlab进行频谱分析 | 学步园的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: