傅立叶变换深入讲解
我本身不是學(xué)通信專業(yè)的,相近專業(yè)+刻苦最終能夠讓我理解通信理論方面的一些知識(shí),對(duì)此我堅(jiān)信不移.看了一些天的書,總結(jié)一下,現(xiàn)代通信中,傅里葉變換是很重要的組成部分.現(xiàn)代的通訊基本都是數(shù)字通信,這里面就要對(duì)數(shù)字信號(hào)處理有很多的了解,而在學(xué)信號(hào)處理之前,是要學(xué)習(xí)信號(hào)與系統(tǒng)的,看了書后才知道這件事情的,所以非專業(yè)的人學(xué)習(xí)的路往往是彎曲前行的,但這個(gè)彎曲的過程卻會(huì)給人對(duì)知識(shí)的更深刻的了解.
????尤其是隨著通訊技術(shù)的發(fā)展,更多的數(shù)學(xué)被運(yùn)用到通訊中,這種數(shù)學(xué)知識(shí)的運(yùn)用使得本來需要用復(fù)雜的硬件來實(shí)現(xiàn)的功能最終被軟件輕松化解,這樣帶來的好處就是在產(chǎn)品的設(shè)計(jì)中硬件的比例會(huì)變小,成本也就自然會(huì)降低.4G時(shí)代的通訊協(xié)議中大量的運(yùn)用了通訊數(shù)學(xué)方面的計(jì)算,而FFT在4G通訊中變得越來越重要,如果對(duì)FFT不了解或者不理解的話,想從事4G相關(guān)產(chǎn)品的研究與開發(fā)會(huì)變得很艱難.
????在學(xué)校傅里葉變換的時(shí)候,多種傅里葉變換讓我經(jīng)常把他們弄混,搞得我暈頭轉(zhuǎn)向.向一位學(xué)通信的同事詢問一些知識(shí),后來發(fā)現(xiàn),哥們總是不往點(diǎn)上說,也就是說那些最關(guān)鍵,最容易混淆的東西,他都不愿意說出來.但這并不能阻礙我,因?yàn)槲沂遣慌逻@種情況的,我就是在這種環(huán)境下成長(zhǎng)起來的,只要我想學(xué)的東西,我從來沒被難倒過,克服了太多的困難讓我對(duì)自己很有信心.后來總結(jié)了一通才發(fā)現(xiàn),其實(shí)那東西只要知道了要領(lǐng),最終會(huì)繞過很多彎路的.
????在通訊中,我們的傅里葉變換時(shí)間上是一種在時(shí)域上的周期離散信號(hào)到頻域上的周期離散信號(hào)之間的變換,這樣才是數(shù)字通信,如果變換中有連續(xù)的模擬量,那也就不是數(shù)字通信了.因此,在學(xué)習(xí)的使用一定要注意到這一點(diǎn).有了這個(gè)方向,你就該知道應(yīng)該記住什么,應(yīng)該學(xué)習(xí)哪種傅里葉變換了.
????
學(xué)了東西幾天不看就要忘記,前幾天看的,現(xiàn)在又開始變得模糊了,看來學(xué)的東西還是要經(jīng)常復(fù)習(xí)才是.??前一篇講我們?cè)跀?shù)字通訊中用來進(jìn)行計(jì)算的傅里葉變換一般是指時(shí)域和頻域上都是周期性的離散信號(hào)來講的.這里我們要明確一下周期信號(hào),非周期信號(hào),連續(xù)信號(hào),離散信號(hào)到底是什么樣的信號(hào),明確這一點(diǎn)對(duì)理解DFT比較有好處.
???首先,我們先知道一個(gè)慣例,在通訊中,時(shí)域上的變量一般使用小寫字母來表示,而頻域上的變量一般使用大寫字母來表示.
????連續(xù)信號(hào),應(yīng)該不用再說明了吧,也就是說時(shí)域上的連續(xù)信號(hào)是指幅度在時(shí)域上隨時(shí)間連續(xù)變化的信號(hào),用x(t)的形式來表達(dá),同理頻域上的連續(xù)信號(hào)就是指幅度在頻域上隨頻率連續(xù)變化的信號(hào),一般用類似X(jw)之類的形式來表達(dá).而非連續(xù)信號(hào)不言而喻就是指有間斷的信號(hào),不連續(xù)的信號(hào),離散的信號(hào),在數(shù)字通信中一般指類似脈沖之類的信號(hào).
????接下來就是周期信號(hào)和非周期信號(hào). 連續(xù)的周期信號(hào)是很好理解的啦,例如正弦波,鋸齒波等等.但對(duì)于離散的信號(hào),就要注意一下啦.離散信號(hào)的情況下,周期信號(hào)一般指等間隔的脈沖.而單個(gè)的脈沖或者沒有周期性的脈沖都屬于非周期信號(hào).
?
????我們?cè)趯W(xué)習(xí)信號(hào)與系統(tǒng)的時(shí)候,針對(duì)傅里葉變換,書中會(huì)講各種情況下的變化,讓人很糊涂,記憶也很難記憶,搞一搞就暈頭轉(zhuǎn)向了.知道了上面幾種信號(hào)后,我們就可以很容易記憶各種情況下的傅里葉變換了.下次再繼續(xù)講給大家.
前面講了傅里葉變換中的幾種信號(hào)類型,理解這些類型對(duì)于我們理解傅里葉變換很重要.那么,每種類型其變換雖然道理可以互通,但實(shí)際的方法或者說公式都不是一樣的,????大家要注意另外一件事情,傅里葉正變換是只時(shí)域-->頻域的變換,而傅里葉反變換是指頻域-->時(shí)域的變換.這個(gè)方向大家一定不要弄混了.
????1.連續(xù)的非周期的時(shí)間信號(hào)的傅里葉變換和反變換:
? ? ? ?從上面的變換中我們可以看出,對(duì)于非周期的連續(xù)時(shí)間信號(hào)的傅里葉變換,其頻域也是非周期的連續(xù)的頻率函數(shù).
?
????2.連續(xù)的周期的時(shí)間信號(hào)的傅里葉變換和反變換:
從這對(duì)公式中我們可以看出,時(shí)間上是連續(xù)的,但頻域上是離散的量.正變換就是我們所說的傅里葉級(jí)數(shù).
?
????3.離散的非周期的時(shí)間信號(hào)的傅里葉變換和反變換:
?從正變換的公式中可以看出,時(shí)間上離散非周期的信號(hào),在頻域上是周期的連續(xù)的信號(hào).當(dāng)然,在公式中我們并不能明顯的看出頻域上的周期性.但實(shí)際情況是這樣的.
????4.離散的周期的時(shí)間信號(hào)的傅里葉變換和反變換:
?
我們可以看出,時(shí)間上離散的周期信號(hào),在頻域上也是離散和周期的信號(hào).這種情況就是我們通訊中用來進(jìn)行運(yùn)算的DFT.
?
????其實(shí),傅里葉變換也就這四種情況,那么從這四種情況中我們可以概括出他們的規(guī)律,即:
????????非周期<--->連續(xù)
??????????周期<--->離散
????這個(gè)規(guī)律對(duì)于時(shí)域和頻域上的信號(hào)是對(duì)稱的.打個(gè)比方說吧,如果時(shí)域上是非周期的,則頻域上的信號(hào)肯定是連續(xù)的,如果時(shí)域上的信號(hào)時(shí)周期的,則頻域上的信號(hào)肯定是離散的.反之亦然.
傅里葉變換在不同信號(hào)形式下有不同的變換方法,前一篇我講了幾種信號(hào)形式的傅里葉變換和它們之間的關(guān)系.反正我不太關(guān)心前三種形式的傅里葉變換.數(shù)字信號(hào)處理其實(shí)主要就是處理最后一種形式,即在時(shí)域和頻域上都是離散的周期信號(hào)的傅里葉變換,通訊中用于運(yùn)算也是通過這種形式的傅里葉變換進(jìn)行的.讓我們?cè)趶?fù)習(xí)一下:
前面的一個(gè)公式是把時(shí)域信號(hào)轉(zhuǎn)換為頻域上的信號(hào),就是我們常說的離散信號(hào)的傅里葉變換,即DFT,后面的一個(gè)公式就是把頻域信號(hào)轉(zhuǎn)換為時(shí)域上的信號(hào),就是我們常說的離散信號(hào)的反傅里葉變換,即IDFT.
?
????在通訊過程中,我們的很多實(shí)際信號(hào)大多是模擬信號(hào),例如音樂,歌聲.模擬信號(hào)要在計(jì)算機(jī)中進(jìn)行處理就必須先轉(zhuǎn)換為計(jì)算機(jī)可以使用的數(shù)字信號(hào).拿聲音來說吧,聲音的頻率從幾十HZ到20KHZ,我們要把模擬信號(hào)變成數(shù)字信號(hào)就要先對(duì)模擬信號(hào)進(jìn)行采樣.根據(jù)采樣定理,要想在采樣后能夠復(fù)原以前的模擬信號(hào),采樣率必須大于信號(hào)最高頻率的2倍.現(xiàn)在的聲卡一般采用44KHZ的采樣率,44KHZ>20KHZ*2,其實(shí)就是這個(gè)意思.
????模擬信號(hào)經(jīng)過采樣之后形成了一串?dāng)?shù),在計(jì)算機(jī)中就使用數(shù)組來存儲(chǔ),也就是上面公式中的x(n),n就是n個(gè)采樣點(diǎn).那么經(jīng)過轉(zhuǎn)換后,X(k)則是用來存儲(chǔ)不同頻率點(diǎn)上的幅值.k相當(dāng)于頻域上的采樣次數(shù).
????我們拿DFT公式來說明一下,X(k)用來存儲(chǔ)變換后的不同頻率上的幅值.頻率點(diǎn)k可以從0開始一直取下去,但每個(gè)頻率點(diǎn)的間隔即頻率的分辨率Ferr則是由采樣率SRate和時(shí)域上所取的采樣點(diǎn)數(shù)N來決定的,即有下列的關(guān)系:
????Ferr=SRate/N
????舉例來講,如果采樣率是44KHZ,即1秒鐘采樣了44K個(gè)采樣點(diǎn),在實(shí)際應(yīng)用中,假如我們只取了其中的連續(xù)的22K個(gè)采樣點(diǎn)進(jìn)行分析,那么這時(shí)N==22000,那么X(k)存儲(chǔ)的分別是的頻率為0HZ,2HZ,4HZ,8HZ.....點(diǎn)上的幅值,也就是說,這是X(k)的頻率的分辨率為44KHZ/22K=2HZ.
接著上一講的講述,我們可以通過DFT和IDFT的公式,把時(shí)域上的采樣的數(shù)據(jù)轉(zhuǎn)換成頻域上的數(shù)據(jù),也可以把頻域上的數(shù)據(jù)轉(zhuǎn)換成時(shí)域上的數(shù)據(jù).????但是,當(dāng)我們計(jì)算的時(shí)候我們就會(huì)發(fā)現(xiàn)這樣一個(gè)問題.當(dāng)采樣點(diǎn)太多,也就是說當(dāng)N特別大的時(shí)候,那么要進(jìn)行編號(hào),其計(jì)算每一個(gè)另一個(gè)域上的點(diǎn),其計(jì)算量都是非常大的.這樣我們就需要一種快速的算法來進(jìn)行變換,也就是我們說的快速傅里葉變換和快速傅里葉反變換FFT和IFFT.
????我們把前面講述的公式(1):
公式(1),可以通過歐拉公式進(jìn)行展開:
那么公式(1)就可以表示成三角函數(shù)的形式,我們不必去考究其運(yùn)算過程,最終我們會(huì)得到一個(gè)結(jié)論,要進(jìn)行變換,進(jìn)行DFT的運(yùn)算,其加法和乘法的次數(shù)都近似與N的平方成正比,但N比較大的時(shí)候,例如N=1024是,需要100多萬次的復(fù)數(shù)乘法運(yùn)算,這樣的計(jì)算讓計(jì)算機(jī)的計(jì)算會(huì)變得很慢,這是我們?cè)谔幚碜儞Q時(shí)所不希望的.
總結(jié)
- 上一篇: 用位运算实现加减乘除
- 下一篇: 聊聊职场那些事儿(转)