matlab的fft函数写法,matlab的fft函数的使用例子
fs=1000;%對連續信號進行量化處理,即對原始信號進行采樣,這里是采樣率,單位Hz
ts=1/fs;%采樣間隔
t=0:ts:1.3;
x=sin(2*pi*50*t)+sin(2*pi*300*t);
%y=@(t)
sin(2*pi*50*t)+sin(2*pi*300*t);
f=x+3.5*randn(1,length(t));
subplot(411);plot(t,f);
ylabel('幅值');xlabel('時間');title('原始信號');
nfft= 2^nextpow2(length(f));%找出大于y的個數的最大的2的指數值
y=fft(f,nfft);%對f信號進行DFT,得到頻率的幅值分布
p=y.*conj(y)/nfft;%conj()函數是求y函數的共軛復數,實數的共軛復數是他本身。
ff=fs*(0:nfft/2-1)/nfft;% F F T 變換后對應的頻率的序列
subplot(412);plot(ff,p(1:nfft/2));
ylabel('功率譜密度');xlabel('頻率');title('信號功率譜');
%------論壇上看到的求FFT的方法
subplot(413);plot(ff,abs(y(1:nfft/2)));%(用這個,先取點數后求模)
ylabel('幅值');xlabel('頻率');title('單邊幅頻譜');
%------matlab例子的求FFT的方法
subplot(414);plot(ff,2*abs(y(1:nfft/2))/length(f));%(用這個,先取點數后求模)
ylabel('幅值');xlabel('頻率');title('單邊幅頻譜');
%振幅的大小與所用DFT采樣點數(nfft)有關,采用不同的DFT采樣點數對同一信號,振幅是有不同的表現值
總結
以上是生活随笔為你收集整理的matlab的fft函数写法,matlab的fft函数的使用例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中return结束循环,Java
- 下一篇: app 注册防刷 php,手机验证码设计