一種基于fft短時傅里葉分析的電路結(jié)構(gòu)及其控制方法
【技術(shù)領(lǐng)域】:
[0001] 本發(fā)明屬于語音分析領(lǐng)域,具體設(shè)及一種基于FFT短時傅里葉分析的電路結(jié)構(gòu)及 其控制方法在語音信號實時頻譜分析上的應(yīng)用。
【背景技術(shù)】:
[0002] 基于FFT的短時傅里葉分析和綜合概念在科學(xué)和工程的許多領(lǐng)域中都要用到,尤 其在語音分析、頻帶壓縮、通信等系統(tǒng)中更是常常作為主要功能實現(xiàn)的基礎(chǔ)性關(guān)鍵步驟。在 進(jìn)行語音處理的過程中,頻譜分析是一個重要的部分。短時傅里葉分析是分析緩慢時變頻 譜的一種簡便方法,在語音分析中已經(jīng)得到廣泛應(yīng)用。其方法是,先將語音信號分成短段, 再將各短段進(jìn)行傅里葉變換。各語音段可W認(rèn)為是從各個不同的平穩(wěn)信號波形中截取出來 的,各語音段的短時頻譜就是各個平穩(wěn)信號波形的頻譜的近似。在工程中為了提高計算效 率,將短時傅里葉分析用DFT來表示,從而利用快速傅里葉變換方法進(jìn)行計算。
【發(fā)明內(nèi)容】
:
[0003] 鑒于W上分析,本發(fā)明的目的是提供一種基于FFT短時傅里葉分析的電路實現(xiàn)結(jié) 構(gòu)W及相應(yīng)電路系統(tǒng)的控制方法。
[0004] 本發(fā)明提供一種基于FFT短時傅里葉分析的電路實現(xiàn)結(jié)構(gòu),能夠?qū)崟r地進(jìn)行語音 信號的頻譜成分分析,具有較高的數(shù)據(jù)吞吐率和較少的存儲資源消耗。 陽〇化]本發(fā)明提供一種基于FFT短時傅里葉分析電路系統(tǒng)的控制方法,能夠提高系統(tǒng)的 數(shù)據(jù)吞吐率,降低系統(tǒng)功耗。
[0006] 本發(fā)明中短時傅里葉分析的電路實現(xiàn)結(jié)構(gòu)所采取的技術(shù)方案如下:
[0007] 根據(jù)短時傅里葉分析算法提出一種基于FFT短時傅里葉分析的電路實現(xiàn)結(jié)構(gòu)如 圖2所示,其包括主控制模塊(1)、I2S輸入模塊(2)、數(shù)據(jù)分段模塊(3)、FFT模塊(4)、fS 輸出模塊巧)、寄存器初始化模塊化)。
[0008] 進(jìn)一步地,主控制模塊(1)分別與數(shù)據(jù)分段模塊(3)、FFT模塊(4)和寄存器初始 化模塊(6)通過相應(yīng)接口相互連接,I2S輸入模塊(2)與數(shù)據(jù)分段模塊(3)相互連接,數(shù)據(jù) 分段模塊(3)與FFT模塊(4)相互連接,F(xiàn)FT模塊(4)與I2S輸出模塊(5)相互連接。
[0009] 進(jìn)一步地,巧輸入輸出模塊、數(shù)據(jù)分段模塊和FFT模塊分別包含一個功能模塊和 數(shù)據(jù)存儲子模塊。
[0010] 進(jìn)一步地,短時傅里葉分析電路實現(xiàn)結(jié)構(gòu)包括:主控制模塊(101)、I2s輸入功能 模塊(102)、J2s輸入存儲子模塊(103)、數(shù)據(jù)分段功能模塊(104)、數(shù)據(jù)分段存儲子模塊 (105)、FFT存儲子模塊(106)、FFT功能模塊(107)、FFT旋轉(zhuǎn)因子存儲子模塊(108)、fS輸出存儲子模塊(109)、I2S輸出功能模塊(110)、寄存器初始化模塊(111)、I化接口模塊 (112)及A皿總線模塊(113)。
[0011] 進(jìn)一步地,主控制模塊根據(jù)寄存器初始化模塊的內(nèi)容配置整個電路系統(tǒng)中的寄存 器參數(shù),并啟動電路功能,語音數(shù)據(jù)通過I2s接口進(jìn)入I2s輸入功能模塊,I2s輸入功能模塊 將接收到的語音數(shù)據(jù)存入I2S輸入存儲子模塊中,J2S輸入存儲子模塊與數(shù)據(jù)分段模塊相 連。
[0012] 進(jìn)一步地,I2s輸入存儲子模塊接收數(shù)據(jù)滿并發(fā)出訪存請求,主控制器根據(jù)電路系 統(tǒng)狀態(tài)仲裁后通過A皿總線通知數(shù)據(jù)分段功能模塊取走數(shù)據(jù)并存入數(shù)據(jù)分段子存儲器中 進(jìn)行處理,數(shù)據(jù)分段功能模塊完成語音數(shù)據(jù)分段操作后發(fā)出數(shù)據(jù)輸出請求,主控制器根據(jù) 電路系統(tǒng)狀態(tài)仲裁后,通知數(shù)據(jù)分段功能模塊將分段結(jié)果存入FFT存儲子模塊,F(xiàn)FT功能模 塊對FFT存儲子模塊和FFT旋轉(zhuǎn)因子存儲子模塊中的數(shù)據(jù)進(jìn)行FFT變換,計算頻譜成分,并 將頻譜數(shù)據(jù)輸出給I2S輸出存儲子模塊,等待用戶通過I2S輸出功能模塊取走分析結(jié)果數(shù) 據(jù),完成語音信號的頻譜分析功能。
[0013] 進(jìn)一步地,I2S輸入存儲子模塊為DPRAM,其深度為25化it,寬度為16bit,I2S輸入 模塊每帖傳遞的語音數(shù)據(jù)為128個16bit的數(shù)據(jù)。
[0014] 進(jìn)一步地,數(shù)據(jù)分段存儲子模塊為單端口RAM,其深度為1024ibit寬度為32bit, 數(shù)據(jù)分段模塊輸出的每帖分段數(shù)據(jù)為128個32bit的數(shù)據(jù)。
[0015] 進(jìn)一步地,F(xiàn)FT存儲子模塊為DPRAM,其深度為128bit,寬度為64bit。
[0016] 進(jìn)一步地,F(xiàn)FT旋轉(zhuǎn)因子存儲模塊為ROM,其深度為64bit,寬度為64bit。
[0017] 進(jìn)一步地,I2S輸出存儲子模塊為DPRAM,其深度為25化it,寬度為32bit。
[0018] 進(jìn)一步地,寄存器初始化模塊為E2PR0M。
[0019] 根據(jù)本發(fā)明的另一方面,還提供了一種采用上述基于FFT短時傅里葉分析電路結(jié) 構(gòu)的控制方法如圖2所示,用于語音信號的頻譜分析,該控制方法包括如下步驟:
[0020] (1)對短時傅里葉分析電路系統(tǒng)供電,主控制模塊根據(jù)e2prom中的初始化數(shù)據(jù)配 置寄存器,執(zhí)行啟動;
[0021] (2)I2s輸入輸出模塊、數(shù)據(jù)分段模塊、FFT模塊并行工作,其中I2s輸入輸出模塊 的工作時鐘頻率為1. 536MHz,數(shù)據(jù)分段模塊的工作時鐘頻率為256KHZ,F(xiàn)FT模塊的工作時 鐘頻率為512KHZ ;
[0022] (3)語音數(shù)據(jù)通過I2S接口輸入到I2S輸入功能模塊后被存儲到I2S輸入子存儲模 塊中,其中語音數(shù)據(jù)16bit的實數(shù);
[0023] (4)待I2S輸入子存儲模塊存儲滿128個語音數(shù)據(jù)并發(fā)出訪存請求后,主控制模塊 根據(jù)數(shù)據(jù)分段功能模塊的工作狀態(tài)進(jìn)行仲裁,在其空閑時通知其取走I2s輸入子存儲模塊 中的語音數(shù)據(jù)進(jìn)行分段處理;
[0024] (5)數(shù)據(jù)分段模塊將操作數(shù)據(jù)存儲在數(shù)據(jù)分段子存儲模塊中并執(zhí)行分段操作,分 段完成后發(fā)出數(shù)據(jù)輸出請求,其中分段數(shù)據(jù)為128個32bit的實數(shù);
[00巧](6)主控制模塊根據(jù)FFT功能模塊的工作狀態(tài)進(jìn)行仲裁,在其空閑時允許數(shù)據(jù)分 段模塊將分段數(shù)據(jù)存入FFT子存儲模塊;
[0026] (7)FFT功能模塊對FFT子存儲模塊中的分段數(shù)據(jù)進(jìn)行128點的基2時間FFT運 算,其中蝶形運算所需的64個旋轉(zhuǎn)因子取自FFT旋轉(zhuǎn)因子存儲模塊;
[0027] (8)FFT功能模塊完成分段數(shù)據(jù)的頻譜計算后發(fā)出數(shù)據(jù)輸出請求;
[00測 (9)主控制模塊根據(jù)I2S輸出模塊的狀態(tài)進(jìn)行仲裁,在其空閑時允許頻譜數(shù)據(jù)寫入 I2S輸出存儲子模塊;
[0029] (10)i2s輸出存儲子模塊等待外部通過i2s輸出功能模塊取走語音分析完成的頻 譜數(shù)據(jù)。
[0030] 本發(fā)明成功將基于FFT短時傅里葉分析算法用電路進(jìn)行實現(xiàn),能夠用于語音數(shù)據(jù) 的實時頻譜成分分析。
【附圖說明】:
[0031] 圖1為本發(fā)明方法及電路實現(xiàn)架構(gòu)示意圖(一種基于FFT短時傅里葉分析的電路 實現(xiàn)結(jié)構(gòu))。
[0032] 圖2為本發(fā)明方法及電路工作流程示意圖(一種基于FFT短時傅里葉分析電路結(jié) 構(gòu)的控制方法流程圖)。
【具體實施方式】:
[0033] 為了更清楚地描述本發(fā)明的技術(shù)方案,W下結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行 詳細(xì)的說明。
[0034]如圖1所示,整個電路實現(xiàn)架構(gòu)包括主控制模塊(1)、I2S輸入模塊(2)、數(shù)據(jù)分段 模塊(3)、FFT模塊(4)、I2S輸出模塊巧)、寄存器初始化模塊化)。
[0035]進(jìn)一步地,主控制模塊(1)分別與數(shù)據(jù)分段模塊(3)、FFT模塊(4)、寄存器初始化 模塊(6)通過相應(yīng)接口相互連接,I2S輸入模塊(2)與數(shù)據(jù)分段模塊(3)相互連接,數(shù)據(jù)分 段模塊(3)與FFT模塊(4)相互連接,F(xiàn)FT模塊(4)與I2S輸出模塊(5)相互連接。I2S輸 入模塊(2)、數(shù)據(jù)分段模塊(3)、FFT模塊(4)和I2S輸出模塊(5)分別包含一個功能模塊和 相應(yīng)的數(shù)據(jù)存儲子模塊。
[0036]進(jìn)一步地,短時傅里葉分析電路實現(xiàn)結(jié)構(gòu)包括:主控制模塊(101)、I2S輸入功能 模塊(102)、J2S輸入存儲子模塊(103)、數(shù)據(jù)分段功能模塊(104)、數(shù)據(jù)分段存儲子模塊 (105)、FFT存儲子模塊(106)、FFT功能模塊(107)、FFT旋轉(zhuǎn)因子存儲子模塊(108)J2S輸出 存儲子模塊(109)、I2S輸出功能模塊(110)、寄存器初始化模塊(111)、I化總線模塊(112) 及A皿總線模塊(113)。
[0037]主控制模塊根據(jù)寄存器初始化模塊的內(nèi)容配置整個電路系統(tǒng)中的寄存器參數(shù),并 啟動電路功能,語音數(shù)據(jù)通過巧接口進(jìn)入巧輸入功能模塊,巧輸入功能模塊將接收到的 語音數(shù)據(jù)存入I2s輸入存儲子模塊中,I2s輸入存儲子模塊與數(shù)據(jù)分段模塊相連。
[0038]I2S輸入存儲子模塊接收數(shù)據(jù)滿并發(fā)出訪存請求,主控制器根據(jù)電路系統(tǒng)狀態(tài)仲 裁后通過A皿總線通知數(shù)據(jù)分段功能模塊取走數(shù)據(jù)并存入數(shù)據(jù)分