国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CCS軟件的線性卷積研究及其應用

2021-01-23 22:35:52姜恩華朱旋陳東華

姜恩華 朱旋 陳東華

【摘 ? 要】 ? 詳細論述線性卷積的概念及其運算步驟,在CCS軟件環(huán)境下,借助C語言編寫線性卷積程序。根據(jù)FIR數(shù)字濾波器中h(n)的對稱性,對線性卷積程序進行優(yōu)化。以FIR數(shù)字低通和高通濾波器為例,通過輸入序列設計、求解FIR數(shù)字濾波器的h(n)和線性卷積運算三個步驟,實現(xiàn)了FIR數(shù)字濾波。在CCS軟件環(huán)境下,借助C語言編寫FIR數(shù)字低通和高通濾波程序,驗證了線性卷積實現(xiàn)FIR數(shù)字濾波的效果。

【關鍵詞】 ? 線性卷積;CCS軟件;FIR數(shù)字濾波

Research and Application of the Linear Convolution Based on the CCS Software

Jiang Enhua ,Zhu Xuan , Chen Donghua

(Huaibei Normal University, Huaibei235000,China)

Abstract: The concept and the operation steps of the linear convolution are discussed in detail, Under CCS software environment,the program of the linear convolution is realized by the C language.According to the h(n) symmetry of the FIR digital filter,the program of the linear convolution is optimized.Take the FIR digital low pass and high pass filter as examples,by the inputting sequence designing,the solving the h(n)of the FIR digital filter and the linear convolution operation,the FIR digital filtering is realized.Under CCS software environment,the FIR digital low pass and high pass filtering program is realized by the C language,The effect of the FIR digital filtering based on the linear convolution is verified well.

Keywords:linear convolution;CCS software; FIR digital filter

〔中圖分類號〕 ?TN911.72 ? 〔文獻標識碼〕 ?A ? ? ? ? ? ? 〔文章編號〕 1674 - 3229(2021)03- 0000 - 00中

0 ? ? 引言

線性卷積是數(shù)字信號處理課程中的基本運算,采用線性卷積,可以計算線性時不變系統(tǒng)輸出,也可以實現(xiàn)FIR數(shù)字濾波,所以線性卷積是數(shù)字信號處理課程的重要組成部分[1,2]。CCS(Code Composer Studio)軟件是TI公司發(fā)布的用于TMS320系列DSP芯片編程的集成開發(fā)環(huán)境[3],支持C語言程序設計,在CCS集成開發(fā)環(huán)境下,采用C語言編寫線性卷積的程序,一方面可以加強學生對線性卷積概念和計算步驟的理解,另一方面為線性卷積的應用提供子函數(shù),為線性卷積實現(xiàn)FIR數(shù)字濾波提供子程序支持。

1 ? ? 線性卷積的概念及其C語言程序設計

1.1 ? 線性卷積的概念及其計算步驟

已知序列[x(n)]和[h(n)],計算它們的線性卷積的公式如式(1)所示,一般認為[x(n)]為輸入序列,[h(n)]為線性時不變系統(tǒng)的單位脈沖響應,[y(n)]為輸出序列[2,4]。

[y(n)=m=-∞+∞h(m)x(n-m)=m=-∞+∞x(m)h(n-m)] ? ? ? ? (1)

由已知序列[x(n)]和[h(n)],通過翻轉(zhuǎn)、移位、相乘和求和四個步驟,求得輸出序列[y(n)]。首先,通過翻轉(zhuǎn)操作把序列[x(m)]或[h(m)]變換為序列[x(-m)]或[h(-m)];其次,把序列[x(-m)]或[h(-m)]右移n位得到移位序列[x(n-m)]或[h(n-m)];再次,移位序列[x(n-m)]或[h(n-m)]與序列[h(m)]或[x(m)]進行序列乘法;最后,對序列乘法的結果進行求和,得到線性卷積運算的結果。若序列[x(n)]和[h(n)]為因果序列,線性卷積的移位運算只計算右移部分。

1.2 ? 線性卷積運算的C語言程序設計

采用C語言編程實現(xiàn)線性卷積運算時,序列[x(n)]和[h(n)]通常存放在數(shù)組中,由于C語言中數(shù)組的下標從0開始,逐漸加1,數(shù)組下標不能為負值,所以一般認為序列[x(n)]和[h(n)]為因果序列。為了優(yōu)化C語言編程,一般認為序列[x(n)]和[h(n)]為有限長序列,并且長度相等,若長度不等,可把短序列通過補零的方式使得序列[x(n)]和[h(n)]長度相等。

假設序列[x(n)]和[h(n)]的長度為L,存放在C語言的一維數(shù)組x[n]和h[n]中,在線性卷積運算的右移操作中,為了采用數(shù)組表示序列[x(n-m)],把右移位數(shù)n分為兩段,前一段n的取值區(qū)間為[0,L-1],后一段n的取值區(qū)間為[L,2*L-1]。前一段C語言程序如圖1所示,其中n為序列[x(n)]右移位數(shù);后一段C語言程序如圖2所示,其中n為序列[x(n)]右移出的位數(shù)[5]。圖1和圖2程序的外循環(huán)執(zhí)行移位操作,內(nèi)循環(huán)執(zhí)行相乘和求和操作。

通過圖1和圖2的C語言程序可以完整的計算出線性卷積的結果,共計算出2*L-1個y值,即線性卷積的長度為 2*L-1。

1.3 ? 線性卷積仿真實驗

假設序列[x(n)]和[h(n)]的長度為128,均為相同的正弦波,如式(2)所示。

[x(n)=h(n)=200*sin(2*3.14*i/32),0≤n≤127] ? ? ? ? ?(2)

在CCS集成開發(fā)環(huán)境下,采用圖1和圖2的程序,序列[x(n)]和[h(n)]的時域波形如圖3所示,線性卷積運行結果的時域波形如圖4所示。

2 ? ? 線性卷積在FIR數(shù)字濾波中的應用

2.1 ? 線性卷積算法優(yōu)化

FIR數(shù)字濾波網(wǎng)絡的差分方程如式(3)所示,該方程與式(1)相同,于是通過線性卷積運算對式(3)求解,得到輸出[y(n)],從而實現(xiàn) FIR數(shù)字濾波[6]。

[y(n)=k=0N-1h(k)x(n-k)] ? ? ? (3)

由于 FIR數(shù)字濾波器的單位脈沖響應[h(n)]滿足偶對稱或奇對稱,并且[h(n)]的長度為N,輸入序列[x(n)]的長度常常大于N,所以可以對線性卷積的C語言程序進行優(yōu)化。假設[h(n)]滿足偶對稱,對線性卷積相乘步驟化簡為:h[m]*x[n+m],如圖5所示,在[h(m)]坐標系中,橫坐標軸下面標注的[h(m)]為偶對稱后的值。去除圖1所示程序的計算部分,對圖2程序的序列相乘步驟中的輸入序列[x(n)]的數(shù)組下標進行優(yōu)化,實現(xiàn)FIR數(shù)字濾波的線性卷積C語言程序如圖6所示,其中n為向右移出的位數(shù)。

2.2 ? 輸入序列[x(n)]設計

以FIR數(shù)字低通和高通濾波為例,設計輸入序列,輸入序列由低頻和高頻正弦波信號疊加而成,如式(4)所示[5],假設輸入序列的長度為256,在CCS軟件環(huán)境下,通過C語言編寫程序,計算出輸入序列[x(n)],借助CCS軟件的View/Graph/的Time/Frequency菜單,觀察[x(n)]的時域波形如圖7所示,頻譜如圖8所示[7]。

[x(n)=20*sin(2*3.14*n/32)+ 20*sin(2*3.14*n/4)] ? ? ? ?(4)

2.3 ? FIR數(shù)字低通濾波

采用窗函數(shù)法設計FIR數(shù)字低通濾波器,通常已知FIR數(shù)字低通濾波器的頻率響應[Hd(ejω)],通帶截止頻率為[ωc],通過序列的傅里葉逆變換求得單位脈沖響應[hd(n)],與窗函數(shù)相乘,得到[h(n)],由于[hd(n)]關于(N-1)/2偶對稱,只要窗函數(shù)關于(N-1)/2偶對稱,[h(n)]必然關于(N-1)/2偶對稱,從而設計FIR數(shù)字低通濾波器滿足線性相位特性[8]。計算FIR數(shù)字低通濾波器的[h(n)]如式(5)所示[1,2],假設FIR數(shù)字低通濾波器長度N為51,通帶截止頻率[ωc]為π/8,在CCS集成開發(fā)環(huán)境下,通過C語言編寫程序,計算出[h(n)],其時域波形如圖9所示,頻譜如圖10所示。

[h(n) = 200*sin((n-25)*3.14/8)/(3.14*(n-25))] (5)

在CCS集成開發(fā)環(huán)境下,已知輸入序列[x(n)]和FIR數(shù)字低通濾波器單位脈沖響應[h(n)],調(diào)用線性卷積子程序,計算出FIR數(shù)字低通濾波器的輸出[y(n)],完成低通濾波,F(xiàn)IR低通濾波結果的時域波形如圖11所示,頻譜如圖12所示,與輸入序列比較,可以看出,高頻信號被濾除。

2.3 ? FIR數(shù)字高通濾波

采用窗函數(shù)設計FIR數(shù)字高通濾波器,假設FIR數(shù)字高通濾波器長度N為51,通帶截止頻率[ωc]為π/10,其單位脈沖響應[h(n)]如式(6)所示[1,2]。

[h(n) =20*sin((n-25)*3.14)/(3.14*(n-25))-20*sin((n-25)*3.14/10)/(3.14*(n-25))] ?(6)

在CCS軟件環(huán)境下,通過C語言編寫程序,計算出FIR高通濾波器的單位脈沖響應[h(n)],其時域波形如圖13所示,頻譜如圖14所示。

在CCS集成開發(fā)環(huán)境下,調(diào)用線性卷積子程序,計算出FIR數(shù)字高通濾波器的輸出[y(n)],其時域波形如圖15所示,頻譜如圖16所示,與輸入序列比較,可以看出,低頻信號被濾除。

總之,在CCS集成開發(fā)環(huán)境下,借助C語言進行線性卷積程序設計,加強了學生對線性卷積的理解,有利于熟練掌握線性卷積運算的步驟:翻轉(zhuǎn)、移位、相乘和求和。通過線性卷積在FIR數(shù)字濾波中的應用,結合FIR數(shù)字濾波器單位脈沖響應[h(n)]的對稱性,優(yōu)化了線性卷積運算程序,以FIR數(shù)字低通和高通濾波為例,形象的展現(xiàn)了線性卷積運算實現(xiàn)FIR數(shù)字低通和高通濾波的效果。同理,通過線性卷積運算也可以實現(xiàn)FIR數(shù)字帶通和帶阻濾波。

3 ? ? 結論

首先明確了線性卷積的概念,對線性卷積計算進行了優(yōu)化,根據(jù)計算步驟編寫C語言程序,以兩路正弦波為例,在CCS軟件環(huán)境下,計算出線性卷積的結果。將線性卷積應用于FIR數(shù)字濾波,根據(jù)FIR數(shù)字濾波器的單位脈沖響應[h(n)]的對稱性,對線性卷積程序進行了優(yōu)化,以輸入序列設計、求解FIR數(shù)字濾波器中[h(n)]和調(diào)用線性卷積子程序三個步驟,編寫FIR數(shù)字濾波程序,完成FIR數(shù)字濾波,在CCS軟件環(huán)境下,應用線性卷積實現(xiàn)FIR數(shù)字濾波。一方面加深了學生對線性卷積實現(xiàn)FIR數(shù)字濾波的認識,另一方面培養(yǎng)了學生C語言編程的興趣。該方法在數(shù)字信號處理課程實驗教學中和FIR數(shù)字濾波網(wǎng)絡實現(xiàn)中,具有借鑒價值。

參考文獻:

[1] ?程佩青.數(shù)字信號處理教程[M].5版.北京:清華大學出版社, 2016.

[2] 高西全,丁玉美.數(shù)字信號處理[M]. 4版.西安:電子科技大學出版社, 2018

[3] CodeComposerStudio[CCS]集成開發(fā)環(huán)境[IDE]. http://www.ti.com.cn/tool/cn/ccstudio .

[4] 姜恩華,陳得寶,竇德召.數(shù)字信號處理課程中的卷積運算教學探索[J].廊坊師范學院學報(自然科學版),2015,15(01):123-125.

[5] 姜恩華,李素文,崔少華,陳得寶.基于CCS軟件的FIR濾波器實驗設計[J].實驗室研究與探索,2015,34(06):138-141+149.

[6] 朱磊,宋彩霞.基于DSP的FIR數(shù)字濾波綜合實驗設計[J].實驗技術與管理,2017,34(01):206-209+213.

[7] 王靜,陳業(yè)慧,章華.基于DSP的語音信號采集與處理系統(tǒng)的設計與實現(xiàn)[J].白城師范學院學報,2018,32(12):37-40.

[8] 奧本海姆 A.V,謝弗 R.W.離散時間信號處理[M].3版.黃建國,劉樹棠譯. 西安:西安交通大學出版社. 2015.

[收稿日期] ? 2021-04-26

[基金項目] ? 國家自然科學基金資助項目(NO:11875031),安徽省教育廳省級示范課“數(shù)字信號處理A”項目,淮北師范大學重點教學研究項目(NO:2020xjxyj023)資助

[作者簡介] ? 姜恩華(1974- ),男,碩士,淮北師范大學物理與電子信息學院副教授,研究方向:數(shù)字通信與信號處理。

驻马店市| 手游| 特克斯县| 天门市| 双桥区| 胶南市| 阿拉尔市| 合阳县| 遂平县| 南江县| 区。| 东台市| 政和县| 黄冈市| 米脂县| 申扎县| 玉树县| 嘉定区| 齐河县| 顺昌县| 鸡西市| 伊金霍洛旗| 夏津县| 防城港市| 孟州市| 阿巴嘎旗| 桃园市| 英山县| 南和县| 营山县| 遂川县| 探索| 锡林浩特市| 长阳| 延吉市| 平顺县| 栾川县| 洪雅县| 罗定市| 肥东县| 桦南县|