?

基于矩陣理論的“數字信號處理”教學研究

2017-11-23 08:39姚力波
電氣電子教學學報 2017年5期
關鍵詞:數字信號處理數字信號信號處理

姚力波, 劉 瑜, 董 凱, 熊 偉

(海軍航空工程學院 信息融合研究所, 山東 煙臺 264001)

基于矩陣理論的“數字信號處理”教學研究

姚力波, 劉 瑜, 董 凱, 熊 偉

(海軍航空工程學院 信息融合研究所, 山東 煙臺 264001)

本文從矩陣理論的角度出發,分析數字信號及其處理,研究了離散傅立葉變換和數字濾波器的矩陣表示,通過分析得出,矩陣理論是“數字信號處理”課程最基礎的數學理論,向量和矩陣能夠更有效地表達數字信號及其處理,更有利于數字信號的分析。最后結合Matlab編程語言,給出了數字信號及其處理的矩陣表示和編程方法示例。

數字信號處理;矩陣理論;Matlab

0 引言

“數字信號處理”課程是一門電子信息工程、通信工程、測控儀器、計算機等本科專業必修的基礎課程,同時也是上述專業研究生入學考試的專業考核基礎課程之一[1]。

“數字信號處理”是在“線性代數”、“信號與系統”等課程之后,在“現代數字信號處理”、“數字圖像處理”等課程之前開設的,具有極強的理論性和技術性,其顯著的特點是概念抽象繁多,公式證明繁瑣。

傳統的“數字信號處理”教學是以傅立葉變換和采樣定理為出發點,推導建立起數字信號處理的理論體系,雖然以數學變換為主線講解,但對于數字信號處理的數學理論基礎討論較少,不利于此后進一步學習小波變換、多維數字信號處理等現代數字信號處理。同時,由于采用公式推導的方式講解,計算結果是以解析式的方式給出,不利于與Matlab等軟件編程進行結合教學。

本文從矩陣理論角度出發,分析數字信號、數字信號處理的矩陣理論基礎,并結合Matlab編程軟件,將先修的“線性代數”相關知識引入到“數字信號處理”課程教學中,使學生更加容易系統地理解數字信號處理的數學基礎和物理意義,提高學生對數字信號處理的理論認識水平和實際設計能力。

1 基于矩陣理論的數字信號處理分析

1.1數字信號的矩陣分析

實際生活和工作中的信號大部分是模擬信號,數字信號處理則是采用專用數字信號處理芯片或者通用計算機來實現,其計算基礎是布爾代數,處理對象是數字信號。因此,無論是一維的語音信號,還是二維的圖像信號,或是陣列接收的多維信號,都必須先通過模數(A/D)轉換器轉換為數字信號,經過A/D轉換后的數據都是二進制表示的數字信號,并且以向量或者矩陣的形式存儲和處理的。

矩陣理論研究的對象之一是線性空間,線性空間是對集合的元素在線性運算方面所表現出來的共性加以概括而形成的概念,其元素可以是數學對象(如函數),也可以是物理對象(如力、速度)等。數字信號處理的對象是采樣數字化后形成的以向量或矩陣形式表示的有限長度的數字信號,此類數字信號所屬的元素集合及其加法、數乘運算也滿足線性空間的要求,構成一個有限維線性空間[2]。

1.2數字信號處理的矩陣分析

“數字信號處理”課程的核心內容是離散傅立葉變換DFT(Discrete Fourier Transform)和數字濾波器設計,DFT也可以看作一種數字濾波器,數字濾波器通常是離散線性移不變LSI系統,其基本運算是相乘和卷積。假設數字濾波器的單位沖激響應h(n),其長度為N,輸入信號x(n),其長度為M,輸出信號y(n),長度為L,數字濾波器時域計算公式為[3]

(1)

用向量和矩陣形式可以表示為

y=xH

(2)

其中:

x=[x(0)x(1) …x(M-1)]

(3)

y=[y(0)y(1) …y(L-1)]

(4)

y(n)的下標區間為0≤n≤N+M-2,因此,可以推導出L=N+M-1。

(5)

由上式可見,H共有M行,L+M-1列,是一個Toeplitz矩陣,其各行依次等于前一行右移一個位置補零形成,平行于主對角線的各對角線元素相同。

矩陣理論另一個研究對象是線性映射,線性映射研究線性空間之間的關系。線性映射滿足可加性和齊次性,線性空間上的線性映射可以用具體的矩陣來處理?!皵底中盘柼幚怼闭n程講解的數字濾波器滿足可加性、齊次性和移不變性。以一維數字濾波器為例,如果濾波器處理的是復數信號,則輸入信號x(n)是一個M維復數向量,輸出信號y(n)是一個L維復數向量,即x(n)CM,y(n)CL,數字濾波器時域運算可以看作是由線性空間CM到線性空間CL的一個線性映射,該線性映射對應的映射矩陣為HCM×L,通過研究該映射矩陣的數學特性能夠對應描述該數字濾波器的特性。

離散傅立葉變換DFT既可以從線性映射的角度分析,也可以從線性空間的角度進行分析。以N點有限長一維數字信號x(n)為例,其N點DFT變化公式為[4]

(6)

用向量和矩陣形式可以表示為

X=WNx

(7)

其中:

x=[x(0)x(1) …x(N-1)]T

(8)

X=[X(0)X(1) …X(N-1)]T

(9)

(10)

可以看出,X是WN列向量的線性組合,其坐標系數為x。

類似的,數字信號處理中的卷積、相關、相乘等運算都可以在矩陣理論中找到其數學理論基礎。因此,數字信號處理的本質就是數學意義上的映射(變換),線性映射又可以用矩陣理論知識來研究。

2 基于Matlab的數字信號處理矩陣

“數字信號處理”課程既需要嚴密數學理論推導,同時其處理和分析的實現也需要大量計算才能實現。Matlab編程軟件以矩陣運算為基礎,擁有強大的矩陣運算能力,具有算法開發、數據可視化、數據分析、數值計算和系統模擬等功能,已經成為本科生和研究生必須掌握的一項基本能力,是高校教學應用的重要軟件工具。下面以Matlab為編程環境,對基于矩陣理論的數字信號生成和處理進行仿真設計和分析。

2.1基于Matlab的矩陣信號表示

模擬信號經過采樣后,形成一個有限長序列,如果滿足采樣定理,即采樣頻率大于模擬信號中最高頻率成分的兩倍,就能夠保證采樣后信號不失真。因此,通常數字信號處理的研究對象是有限長序列,可以用一個向量來表示,但是向量并沒有包含采樣位置的信息。因此,完全表示數字信號x(n)需要x和n兩個向量,如果其長度為N,則0≤n≤N-1,而Matlab中變量下標從1開始,1≤n≤N。

例如長度N=4,起始下標n=-1的矩形序列可以表示為

x=[1,1,1,1];n=[-1,0,1,2]

(11)

2.2基于Matlab的矩陣信號運算

Matlab即“矩陣實驗室”,是以矩陣為基本運算單元,直接處理向量或矩陣。Matlab中矩陣或者向量可以直接按行方式輸入每個元素,并且提供了許多生成向量和矩陣的函數,例如linspace、sym、zeros、eye、ones、rand、logspace等函數。Matlab還提供了信號處理工具箱,包括數字信號分析、IIR數字濾波器設計、FIR數字濾波器設計、窗函數等,并且提供了圖形可視化等用戶接口[5]。

以一維數字信號x(n)離散傅立葉變換計算為例,相關矩陣Matlab計算如下:

t=linspace(1e-3,100e-3,10)%s時間序列

xn=sin(100*2*pi*t)%生成信號序列

N=length(xn)%計算序列長度

WNnk=dftmtx(N)%計算DFT系數矩陣

Xk=xn(N)*WNnk%計算DFT

可見,結合矩陣理論和Matlab能夠清晰展示數字信號處理概念、性質的物理意義,并且幫助學生擺脫繁瑣的數值計算,更加關注數字信號處理的方法和應用。

3 結語

“數字信號處理”課程培養學生理論理解和實踐分析兩方面的能力,綜合性較強。本文從矩陣理論的角度,對“數字信號處理”課程的教學提出了建議和方法,通過分析得出,矩陣理論是數字信號處理最基礎的數學理論,向量和矩陣能夠更有效地表達數字信號及其處理,更有利于數字信號的分析,更適合于運用Matlab進行程序設計和實現。

[1] 邱關源, 羅先覺主編. 電路(第四版)[M]. 北京: 高等教育出版社, 1999年6月.

[2] 張賢達. 矩陣分析與應用[M]. 北京:清華大學出版社,2013年.

[3] 程佩青. 數字信號處理(第四版)[M]. 北京:清華大學出版社,2013年.

[4] 陳懷琛. 數字信號處理教程-Matlab釋義與實現[M]. 北京:電子工業出版社,2004年.

[5]羅軍會,羅永江,白義臣等. Matlab7.0在數字信號處理中的應用[M]. 北京:機械工業出版社,2005年.

TheTeachingResearchofDigitalSignalProcessingBasedonMatrixTheory

YAOLi-bo,LIUYu,DONGKai,XIONGWei

(InstituteofInformationFusion,NavalAeronauticalandAstronauticalUniversity,Yantai264001,China)

This paper analyzes digital signal processing using matrix theory and studies the representation of DFT (Discrete Fourier Transform ) and digital filter using matrix (vector) form. Matrix theory is the mathematic fundamental of Digital Signal Processing course. The representation of digital signal using matrix (vector) form is more efficient for digital signal analysis and programming design. In the end, the representation of digital signal and its′ processing is designed using Matlab.

digital signal processing; matrix theory; Matlab

2016-09-27;

2017-01-08

姚力波(1980-),男,博士,講師,主要從事衛星遙感數據處理、信息融合研究工作,E-mail:yirujiwang0511@gmail.com

G642.0

A

1008-0686(2017)05-0097-03

猜你喜歡
數字信號處理數字信號信號處理
數字信號在電子信息工程中的應用
數字信號分析中存在的誤區與解決對策
數字電子技術中的數字信號和數字電路
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》第九屆編委會
基于小波神經網絡的數字信號調制方式識別
《數字信號處理》中存在的難點問題解析
電子信息工程專業數字信號處理課程改革與研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合