【正文】
Y=zeros(N,N)。 循環(huán)卷積的 MATLAB 實現(xiàn): ① 利用線性卷積的結(jié)果 根據(jù)線性卷積和循環(huán)卷積的關(guān)系,設(shè) 1( ) :[0, 1]x n N ? 和 2( ) :[0, 1]y n N ? ,首 先調(diào)用線性卷積的 函數(shù),求出線性卷積 ()gn ,再調(diào)用周期延拓函數(shù),將 ()gn 以 N為周期進行周期延拓,該周期序列的主值序列即是循環(huán)卷積 ()tn ,其實現(xiàn)代碼如下: [ng,g]=SeqLConv(nx,x,ny,y)。 設(shè)序列11( )( )sfx n n n n??和22( )( )sfy n n n n??分別是長度為 N和 M的有限長序列,它們的線性卷積 33( )( )ssg n n n n??的長度為 L,則有如下等式成立: L=M+N1 3 1 2s s sn n n?? 3 1 2f f fn n n?? 兩個 有限長序列的線性卷積 可由 MATLAB 的 conv( )函數(shù)實現(xiàn),調(diào)用格式為: g=conv(x,y); 離散周期卷積 周期卷積是定義在兩個同周期的周期序列之間的,周期為 N的序列 ()xn 和 ()yn 的周期卷積用下式表示: 10( ) ( ) ( ) ( ) ( )Nif n x n y n x i y n i??? ? ? ?? 01nN? ? ? 其中,符號 ? 表示周期 卷積運算。左移 2 位后的序列 39。grid。)。)。ylabel(39。 0( ) ( )y n x n n?? 21 subplot(121), stem(nx,x, 39。在 移位過程中,序列值未發(fā)生任何變化,只是位置向量的增減的而已。翻轉(zhuǎn)后的序列 39。grid。)。)。設(shè)序列 x( n)用樣值向量 x和位置向量 nx 描述,翻轉(zhuǎn)后的序列 y( n)用樣值序列 y和位置序列 ny描述,則實現(xiàn)語句為: y=fliplr( x); ny=fliplr( nx) 。) 。 xlabel(39。ylabel(39。title(39。 subplot(222), stem(n,xa)。n39。(n=max(n1))))=x1。 MATLAB 程序如下: n1=2:2。x(n)=()^{n}39。n39。fill39。x4=a4.^n。 MATLAB 源程序為 n=0:10。n39。虛部 39。fill39。x(n)39。 x=exp(j*w*n)。 xlabel(39。ososx A ome ga n t he l t ax A pi f F n t he l t ax A ome ga n t he l t ax A pi f F n t he l t a? ? ? ?? ? ? ? ? ?? ? ? ?? ? ? ? ? ? 用 MATLAB 生成 正弦序列 : f=10。x(n)39。((n7)=0)]。 xlabel(39。在 MATLAB 中,用 ones 函數(shù)產(chǎn)生一個全 1向量,其通常的調(diào)用格式為: x=ones? ?1,N 。 axis([0,30,0,2])。 另外,利用邏輯關(guān)系表達式產(chǎn)生單位沖激序列也是一種常用的方法,其格式為: x= ? ?0 0nn? ??????。顯然, x ??n 只在 n 為整數(shù)時 才有意義, n 為非整數(shù)時沒有定義。信號的自變量有多種形式,可以是時間、溫度、距離、電壓等,一般將信號看做時間的函數(shù)。目前, MATLAB 已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計、樣條擬合、優(yōu)化算法、偏微分方程求解、 神經(jīng)網(wǎng)絡(luò) 、 小波分析 、信號處理、圖像處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計、 LMI 控制、魯棒控制、模型預(yù)測、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計、實時快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、 DSP 與通訊、電力系統(tǒng)仿真等,都在工具箱( Toolbox)家族中有了自己的一席之地。 ④ 出色的圖形處理功能 MATLAB 自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進行標注和打印。而且這種語言可移植性好、可拓展性極強,這也是 MATLAB 能夠深入到科學(xué)研究及工程計算各個領(lǐng)域的重要原因。包括 MATLAB 桌面和命令窗口、歷史命 令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。 7 上圖是數(shù)字信號處理學(xué)科概貌圖。處理器運算速度越高,能處理的信 道數(shù)目也就越多。 ③ 可靠性強。 It has widely applicated in the munication, audio and image, remote sensing, biological engineering. The core content of digital signal processing, mainly is the signal transmission and processing, identification and so on. When the signal system is a carrier of information, information processing. MATLAB is the MathWorks published a business mathematics software, is a kind of numerical environment and programming language, mainly including MATLAB and Simulink two parts. MATLAB algorithm is used for development, data visualization, data analysis and numerical calculation of the senior technical calculation language and interactive environment. As a powerful scientific puting platform, it almost meet all the puting requirements. Keywords: Digital signal processing; MATLAB; Simulink; 6 第一章 緒論 數(shù)字信號處理簡介 隨著信息技術(shù)的高速發(fā)展,信息時代和數(shù)字世界悄然到來,數(shù)字信號處理已成為一門重要的學(xué)科和一個極其重要的科學(xué)領(lǐng)域。 論文(設(shè)計)的主要內(nèi)容及創(chuàng)新點: 以 MATLAB為平臺進行數(shù)字信號處理,充分利用了計算機的快速運算、文字、動態(tài)圖形、聲音及交互人機界面的特點,利用 MATLAB的數(shù)值分析和計算結(jié)果可視化、信號處理工具箱的強大功 能,將數(shù)字信號處理中較難掌握和理解的部分,形象、生動的表現(xiàn)出來。因此在進行數(shù)字信號處理之前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域 ,這通常通過 模數(shù)轉(zhuǎn)換器 實現(xiàn)。工具包又可以分為功能性工具包和學(xué)科工具包。信號是信息的載體,系統(tǒng)是信息處理的手段 。 數(shù)字信號處理系統(tǒng)具有以下一些明顯的優(yōu)點: ① 精度高。 ④ 容易大規(guī)模集成。又如有限長沖激響應(yīng)數(shù)字濾波器,則可實現(xiàn)準確的線性相位特性,這在模擬系統(tǒng)中是很難達到的。 MATLAB 簡介 MATLAB 是 矩陣實驗室 ( Matrix Laboratory) 的簡稱, MATLAB 是美國MathWorks 公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括 MATLAB 和 Simulink兩大部分 , 和 Mathematica、 Maple 并稱為三大數(shù)學(xué)軟件。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運行,而且能夠及時地報告出現(xiàn)的錯誤及進行出錯原因分析。函數(shù)中所使用的算法都是科研和工程計算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯處理。新版本的 MATLAB 對整個圖形處理功能 作了很大的改進和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等), MATLAB 同樣表現(xiàn)了出色的處理能力。另外, MATLAB網(wǎng)頁服務(wù)程序還容許在 Web 應(yīng)用中使用自己的 MATLAB 數(shù)學(xué)和圖形程序。 ◎ 模擬信號:時間連續(xù),幅值連續(xù),是連續(xù)時間信號的特例。 幾種典型離散時間信號的 MATLAB 生成 單位沖激序列 單位沖激序列定義為 : 1 0[] 00nn n? ??? ? ?? 其特點是僅在 0n? 處取值為 1,其他取值均為零。 x(6)=1。),ylabel(39。 MATLAB程序如下: n=5:10。ylabel(39。)。 假 設(shè) 該 正 弦 序 列 是 由 模 擬 正 弦 序 列? ? ? ? ? ?0sin sin 2ax t A t A f t? ? ?? ? ? ? ?抽樣所得,抽樣間隔為 T,抽樣頻率為1/sFT? ,則可得如下關(guān)系式: 0sTffF???? 其中, ? 的單位為弧度( rad ),反映序列變化 快慢的速率; f 是模擬頻率對采樣的歸一化,無量綱,沒有實際的物理意義。 n=1:99。x39。)。 A=2。),axis([0,30,2,2]),xlabel(39。) subplot(2,2,3) stem(n,abs(x),39。),grid on title(39。a3=。),grid on xlabel(39。),title(39。) subplot(224) stem(n,x4,39。當(dāng) 0?a 時,該序列均取正值;當(dāng) 0?a 時,序列在正負擺動。x2=[2 3 2 3]。 xa=x11+x22。x11(n) 39。n39。 subplot(223), stem(n,x22)。title(39。ylabel(39。, 39。x=[1 2 3 4 5 6 7 8]。 xlabel(39。) 。)。color39。 MATLAB 程序如下: nx=2:5。axis([5 9 1 6])。title(39。 xlabel(39。) 。)。color39。設(shè)( ) :[0, 1]x n N ? 和 ( ) :[0, 1]y n N ? ,首先調(diào)用線性卷積的 函數(shù),求出線性卷積 ()gn ,再調(diào)用周期延拓函數(shù) ,將 ()gn 以 N為周期進行周期延拓,取一個周期的序列值,即構(gòu)成待求周期序列 ()fn的主值序列 ()fn。這種方法要借助于序列的循環(huán)移位,編寫函數(shù),命名為“ ”,代碼如下: function[nt,t]= SeqCirConv(nx,x,ny,y,N) nt=0:N1。 end t=x1*Y’ 。 % 產(chǎn)生序列 x(n) subplot(3,1,1)。)。title(39。)。 例 41 已知 ()xn 是一個 6點序列, 1,0 50,() {nxn ???其 他 計算該序列的離散時間傅立葉變換,并繪出它們的幅度和相位。 magX=abs(X)。 subplot(2,1,2)。因此,通常只選取一個周期的幅度特性和相位特性進行研究。 % 設(shè)定頻序向量 %w=linspace(8,8,1000)。 離散傅里葉級數(shù) 離散傅里葉級數(shù) (DFS)定義 一個周期為 N 的周期序列 ()xn 可表示為: ( ) ( )x n x n kN??, k 為任意整數(shù) 這樣的周期序列的 Z變換是不收斂的。 周期序列的信息可以用它在一個周期中的 N個值來代表。對于 2 D? 圖象處理,所需計算量更是大 得驚人。相乘和相加運算僅在 m=0到 N1的區(qū)間內(nèi)進行。 將上式兩邊同乘以 2j nrNe ?? 并從 n=0 到 N1 求和,得到: 2 2 21 1 1 1 1( ) ( )0 0 0 0 011( ) ( ) ( ) [ ]N N N N Nj n r j k r n j k r nN N Nn n k k nx n e X k e X k eNN? ? ?? ? ? ? ?? ? ?? ? ? ? ???? ? ? ? ? 由復(fù)指數(shù)序列的正交性: 21 () ,0,0 {N j k r n N k rNkrn e?? ? ??? ?? 所以, 210( ) ( )N j n rNnx n e X r?? ???? 得到周期序列的離散傅里葉級數(shù)表達式: 210210( ) ( ) ,1( ) ( ) ,N j k nNnN j k nNkX k x n e kx n X k e nN??? ????? ?? ? ? ??? ?? ? ? ???? 令 2j NNWe??? , 則得到周期序列的離散傅里葉級數(shù) (DFS)變換對 : 31 1010( ) [ ( ) ] ( ) ,1( ) [ ( ) ] ( ) ,NknNnNknNkX k DFS x n x n W kx n