日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

时频分析:短时傅立叶变换实现(4)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时频分析:短时傅立叶变换实现(4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

  • 前言
  • 實驗環境
  • Matlab spectrogram函數
    • 1語法
    • 2使用說明
    • 3代碼如下
      • 3.1重新分配平方鳥聲的譜圖
      • 3.2設置了下限的譜圖
  • 參考:

前言

之前講了時頻分析的原理,現在來講講它在matlab里面的實現。
想要復習原理的同學,可以參照一下這篇:短時傅里葉分析(1)
本次講解進階的函數使用,
基礎的可以參見前面的:短時傅里葉實現(1)
中階的可以參見前面的:短時傅里葉實現(2)
高階的可以參見前面的:短時傅立葉實現(3)

實驗環境

本文的所有實驗都是在matlab2016a下通過的。

Matlab spectrogram函數

譜圖函數:使用短時傅里葉變換化成短時傅里葉變換的譜圖。

1語法

標準函數引用方式如下:

[___,ps] = spectrogram(___) [___] = spectrogram(___,'reassigned') [___,ps,fc,tc] = spectrogram(___)

2使用說明

[,ps] = spectrogram()
返回一個譜密度估計的矩陣
[] = spectrogram(,’reassigned’)
將譜的能量定位到時域的中心,如果你的信號包含中心穩定的視頻成分,則這個操作會生成一個更尖銳的譜圖。
[,ps,fc,tc] = spectrogram()
返回兩個矩陣,fc和tc,包含著每個譜密度和功率譜估計的頻率和時域中心

3代碼如下

3.1重新分配平方鳥聲的譜圖

%產生一個平方鳥聲(chirp)信號,采樣頻率是1khz,采樣時間是2秒,前一秒的信號是100hz,后一秒的信號是200hz。 Fs = 1000; t = 0:1/Fs:2-1/Fs; y = chirp(t,100,1,200,'quadratic'); %估計重新濃縮的信號譜圖 % 將信號劃分成長度為128個點,使用KAiser窗加窗,床的參數是18 %每個間隔段,重疊120個樣本 %在【128/2+1】=65個點處和【(length(x)-120)/(128-120)】=235時間塊處得到頻率點 spectrogram(y,kaiser(128,18),120,128,Fs,'reassigned','yaxis')

如圖所示

3.2設置了下限的譜圖

%產生一個平方鳥聲(chirp)信號,采樣頻率是1khz,采樣時間是2秒,前一秒的信號是100hz,后一秒的信號是200hz。 Fs = 1000; t = 0:1/Fs:2-1/Fs; y = chirp(t,100,1,200,'quadratic'); %估計信號的時間依賴的功率譜密度 %將信號劃分成長度為128個點,使用KAiser窗加窗,床的參數是18 %每個間隔段,重疊120個樣本 %在【128/2+1】=65個點處和【(length(x)-120)/(128-120)】=235時間塊處得到頻率點 %輸出頻率和時間的功率譜密度估計的中心,將功率譜密度低于30的設置為0 [~,~,~,pxx,fc,tc] = spectrogram(y,kaiser(128,18),120,128,Fs, ...'MinThreshold',-30); 畫出非零部分的時間頻率函數 plot(tc(pxx>0),fc(pxx>0),'.')

如圖所示:


參考:

mathworks

總結

以上是生活随笔為你收集整理的时频分析:短时傅立叶变换实现(4)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。