matlab中用specgram做完短時傅立葉變換如何用程式

2022-02-18 20:07:58 字數 1744 閱讀 7494

1樓:問題帳號

返回值有b,f,t

分別是幅度,頻率,時間。

如何用matlab實現語音訊號的短時傅立葉變換 10

matlab中短時傅立葉變換為啥是10*log10

2樓:匿名使用者

y=zeros(fftsize,1);產生一個fftsize(是個變數)行1列的零矩陣y=20*log10(abs(x1));表示y=20*log(|x1|),log是以10為底的對數符號subplot(3,1,2);表示在顯示影象視窗中,將視窗劃分為上下3塊區域(3行1列),在第2個區域顯示圖形可以自己驗證一下x1=1:10;fftsize=length(x1);%計算x1數字的個數y=zeros(fftsize,1);y=20*log10(abs(x1));subplot(3,1,2);plot(x1,y)%繪製(x1,y)曲線

怎樣在matlab中做短時傅立葉變換

3樓:匿名使用者

matlab中的函式spectrogram可用於短時傅立葉變換

語法:[s,f,t,p]=spectrogram(x,window,noverlap,nfft,fs)

[s,f,t,p]=spectrogram(x,window,noverlap,f,fs)

統計資料後怎麼用matlab傅立葉變換

4樓:志當存高遠

把你的資料儲存到data.txt,放到matlab工作目錄裡,然後打下面命令,或者儲存成m檔案

a=load('data.txt');%讀資料

t=a(:,1)';%時間

x=a(:,2)';%資料

dt=t(2)-t(1);%用diff(t)看了下,你的取樣時間間隔一樣,就只算了一個差值

fs=1/dt;%傅立葉變換後的座標軸的最大值就是取樣頻率fs,與dt是倒數關係

ax=abs(fft(x));%fft是matlab中傅立葉變換的命令,abs是求模,我畫的是幅值譜

f=(0:length(t)-1)*fs/length(t);%頻譜圖橫軸,總共49個點,最大值是fs,每個點就是fs/49

figure();%畫在一起了

subplot(211);plot(t,x);%上:時域圖

subplot(212);plot(f(1:25),ax(1:25));%下

關於如何用matlab做傅立葉變換的問題

5樓:匿名使用者

不需要擬合 :

設抽樣頻率為fs(hz),訊號點數為n,訊號序列為x。

x=imread(『』)

f = fftshift(fft(x));

w = linspace(-fs/2, fs/2, n);%頻率座標,單位hz

plot(w,abs(f));

title('訊號的頻譜');

xlabel('頻率(hz)');

6樓:凌居診拙

matlab傅立葉變換

y = fft(y,512);

pyy = y.* conj(y) / 512;

f = 1000*(0:256)/512;

plot(f,pyy(1:257))

title('frequency content of y')xlabel('frequency (hz)')

Matlab程式設計問題,matlab程式設計問題

挺簡單的,自己做,上道題動 不給採納,自己想想,簡單的積分問題 matlab 程式設計問題 26 題1 基本運算 a 22 33 4 1 3 31 54 2 32 b 1 4 3 3 2 3 3 1 8 a 6 b ans 28 57 14 19 15 49 36 8 80 a b eye 3,3 ...

MATLAB執行出錯,MATLAB執行出錯

這個問題抄 以前就見過,升級matlab版本可以解決這個問題。還有方法就是把d matlab701 toolbox matlab audiovideo private 目錄下的 matlabdatasink.dll和matlabdatasource.dll檔案重新命名成其他的就行 同一個matlab...

matlab分段函式怎麼編寫matlab畫分段函式影象,編寫m檔案

matlab分段函copy數編寫的操作方法和步驟如下 1 第一步,在計算機桌面上開啟matlab軟體,如下圖所示。2 其次,完成上述步驟後,單擊matlab軟體左上方的 新建 按鈕以建立指令碼檔案,如下圖所示。3 接著,完成上述步驟後,定義變數,如下圖紅框標註所示。4 然後,完成上述步驟後,建立一個...