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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

小波变换学习

發布時間:2024/3/26 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小波变换学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習鏈接:小波變換系列

基礎概念

傅里葉變換:知道信號中的成分信息

短時傅里葉變換:加窗的傅里葉變換,窗長固定

小波:對應能量有限的信號,時域能量有限,頻率帶通濾波器

小波變換:

(可變的尺度因子,實現了窗長的變化)

  • step1:選擇小波基函數,并初始化尺度因子與平移因子;
  • step2:將信號與小波相乘積分,得到對應時刻的小波系數
  • step3:移動平移因子,直至信號的末端;
  • step4:改變尺度因子,重復step2與step3。

總結:小波變換通過時移因子與尺度因子的調節,動態地改變窗長,達到時間精度與頻率精度的平衡,最終獲悉信號中的瞬時頻率信息。

load mtlb %讀入一段語音信號得到序列 cwt(mtlb, "bump", Fs) %與使用默認莫爾斯小波得到的尺度圖進行比較。

cwt函數

連續小波變換——瞬時頻率

  • 奈奎斯特采樣定理 [0, fs / 2]
  • 中心頻率,小波函數 Fc = centfrq()
  • 信號頻率與尺度的對應關系 Fs = Fc * fs / s (s表示尺度)
  • cwt(continue wavelet transform)

    clc;clear; load mtlb; cwt(mtlb);%畫圖%doc cwt get cwt函數的文檔說明 [wt, fs] = cwt(mtlb, Fs);%舉例2 clc;clear; Fs = 2e3; t = 0 : 1/Fs : 1 - 1/Fs; dt = 1/Fs; x1 = sin(50*pi*t).*exp(-50*pi*(t - 0.2).^2); x2 = sin(50*pi*t).*exp(-100*pi*(t - 0.5).^2); x3 = 2*cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x4 = 2 * sin(140*pi*t).*exp(-80*pi*(t - 0.8).^2); x = x1 + x2 + x3 + x4; plot(t, x); cwt(x, Fs);

    x1、x2、x3、x4

    x1 + x2 + x3 + x4

    清晰看到四個時頻信息

    cwt結合icwt繪制臉形時頻圖

    clc;clear; fs = 1e3; t = 0 : 1/fs : 1 - 1/fs; dt = 1/fs; x1 = sin(50*pi*t).*exp(-50*pi*(t - 0.2).^2); x2 = sin(50*pi*t).*exp(-100*pi*(t - 0.5).^2); x3 = 2*cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x4 = 2 * sin(140*pi*t).*exp(-80*pi*(t - 0.8).^2); x = x1 + x2 + x3 + x4; plot(t, x); %cfs:小波系數 %f:當前尺度對應的真實頻率 cwt(x, fs) [cfs, f] = cwt(x, fs);%cfs:小波系數 T1 = .07; T2 = .33; F1 = 19; F2 = 34; cfs(f > F1 & f < F2, t > T1 & t < T2) = 0; xrec = icwt(cfs);%連續小波的逆變換 cwt(xrec, fs);%逆變換結果進行小波變換 %增加嘴巴 mouse = 1.5*sin(20*pi*t).*exp(-40*pi*(t - 0.5).^2);%1.5是強度 20/2 = 10是頻率 500是時間 -40是寬度 x3 = 2 * cos(140*pi*t).*exp(-50*pi*(t - 0.2).^2); x = xrec + mouse; cwt(x,fs); %增加眉毛 lft = .5*cos(240*pi*t).*exp(-20*pi*(t - 0.2).^2); rig = .5*cos(240*pi*t).*exp(-20*pi*(t - 0.8).^2); x = xrec + mouse + lft + rig; cwt(x,fs);

    Q & A

  • 影響錐(拋物線)

    白色虛線里面,cwt認為估計比較準確的,外面的認為不靠譜不能應用的

  • 八度

    頻率相差兩倍

    每個八度的音階數量->連續小波變換的密集程度

  • 閾值

    設定閾值,小于的設0,大于的

    • 軟閾值:減掉閾值
    • 硬閾值:不處理
  • dwt離散小波變換概念

  • 連續小波變換計算量大

  • 離散小波變換對**尺度因子(指數)時移因子(采樣間隔)**離散化

  • 離散二進小波,a = 2

  • 正交化:保證每一次小波分解后的數據長度不變

  • 低頻和高頻信號
  • 得到c和l

  • 補充材料:鏈接

    • LL頻帶是圖像內容的縮略圖,它是圖像數據能量集中的頻帶。
    • HL頻帶存放的是圖像水平方向的高頻信息,它反映了圖像水平方向上的變化信息和邊緣信息;
    • LH頻帶存放的是圖像豎直方向的高頻信息,它反映了圖像在豎直方向上的灰度變化信息和圖像邊緣信息;
    • HH頻帶存放的是圖像在對角線方向的高頻信息,它反映了水平方向和豎直方向上圖像灰度的綜合變化信息,同時包含了少量的邊緣信息。

    一次小波變換的頻率分布圖

    二次小波變換的頻率分布圖

    dwt離散小波變換實現濾波

    clc;clear; load sumsin plot(sumsin) title('Signal') [c, l] = wavedec(sumsin, 3, 'db2');% 3是分解的尺度 db2采用的小波函數approx = appcoef(c, l, 'db2');%獲取近似分量 [cd1, cd2, cd3] = detcoef(c, l, [1 2 3]);%獲取細節分量 subplot(4,1,1) plot(approx) title('Approximation Coefficients')subplot(4,1,2) plot(cd3) title('Level 3 Detail Coefficients')subplot(4,1,3) plot(cd2) title('Level 2 Detail Coefficients')subplot(4,1,4) plot(cd1) title('Level 1 Detail Coefficients') %將上面分解出來的置零就可以實現wavedec濾波chigh = c; clow = c; chigh(end-501: end) = 0;%cd1分量置零實現低通濾波 sig_rec_high = waverec(chigh,l,'db2'); plot(sumsin); hold on plot(sig_rec_high) clow(1:end-500) = 0; sig_rec_low = waverec(clow,l,'db2'); plot(sig_rec_low); hold off

    c可以明顯看出來做了三級分解

    l:127 127 252 501 1000 1000表示數據長度,其他的是每個的長度


    鏈接

    • 小波函數ψ(x)\psi(x)ψ(x):在定義域(?∞,+∞-\infty,+\infty?,+)上積分為零
    • 母小波:是ψ(x)\psi(x)ψ(x)生成的小波函數族
      • a:伸縮因子
      • b:平移因子

    Haar(哈爾)小波

    鏈接

    總結

    以上是生活随笔為你收集整理的小波变换学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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