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