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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用fft计算序列的互相关函数

發布時間:2024/3/26 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用fft计算序列的互相关函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做關于使用Matlab編程實現小m序列和Gold序列的實驗,下面就說說關于這次實驗室的一些收獲:

1. 關于使用DFT實現線性卷積。

2. 關于自相關函數和互相關函數的Matlab計算。

3. 關于小m序列和Gold序列的一些基本概念

?

一、學工的如果不知道如何使用DFT來求線性卷積和這種思想的重要性,他就白學了(小波老師原話)

  • 要求:t[n]=f(n)*g(n),把g(n)翻轉,向右移動n格與f(n)的乘積和。
  • 假設f(n)長度為L,g(n)長度為P,則卷積后的有效點數為L+P-1,其余為全零。
  • 由傅里葉變換定理:時域卷積等效于頻域乘積,即 T(e^jw)=F(e^jw)G(e^jw)。用w=(2*pi/N)k,代替可得:T~[k]=F~[k]G~[k],取k=0-N-1則可得到T[k]=F[k]G[k]。
  • 一個“周期序列”的DFS相當于對“一個周期”的序列傅里葉變換做頻域抽樣w=(2*pi/N)k,且抽樣后滿足x~[n]=∑x[n-rN]。N為周期。
  • 由于DFS無論時域還是頻域都可以用N個點表示所有信息,所以定義DFT,只取時域N個點并對應頻域N個點,借助DFS便可相互恢復。方法為取x~[n]從0到N-1即可。
  • 計算F[k]G[k],首先要保證N>=L+P-1,則將f(n)、g(n)補全至長度N,補零。

二、自相關函數:定義f(t)*f(-t)?? ∫f(t)f(t-α)

??? 互相關函數:定義f(t)*g(-t)?? ∫f(t)g(t-α)

?

MATLAB實現:例如A=[1 2 3]

?自相關函數應該為:n=-2 -1 0 1 2 對應 值為 3 8 14 8 3

?

?? ?1. 使用xcorr函數:

?????? xcorr(A)= 3.0000??? 8.0000?? 14.0000??? 8.0000??? 3.0000

??? 2. 自己使用FFT實現:

? ? ? ?基本原理是兩信號的FFT乘積相當于時域卷積結果的∑x[n-rN]。

? ? ? ?原本卷積過程是y軸對稱的平移相稱,而這里自相關和互相關不要求y軸翻轉過程,相當于t(-n)的卷積過程;t(-n)對應的是X(e-jw),如果是實數即為conj(X(ejw))

?????? conj()求復數共軛

???? ? 若直接ifft(fft(A).*conj(fft(A))),得到 k=0 1 2? 對應值? 14 11 11,明顯因x[n]長度為5,而這里N=3使得∑x[n-rN]混疊了了;其實,兩個等長的序列的FFT點乘得到的是時域以此長度為周期,循環卷積的結果。

?????? 因此令B=[A 0 0]補成一個周期長度N=5,這樣雖然依然混疊(不可避免),但是混疊的區間都是值為0的。沒有關系,反而得到了k=-2 -1的值,在k=3、4無失真顯示。

????? ?B=[A 0 0]

?????? ifft(fft(B).*conj(fft(B)))

?????? 得到:14???? 8???? 3???? 3???? 8 和上面分析一樣

?

三、小m序列生成:查書可得生成多項式的抽頭系數,線性循環寄存器產生出來即可,寄存器初始狀態不影響小m序列,僅僅是造成一個移位而已。

??? Gold序列生成:找到優選對的小m的序列進行模2加即可。

?

總結

以上是生活随笔為你收集整理的使用fft计算序列的互相关函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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