一種產生數字正弦信號的方法及裝置的制造方法
【專利摘要】本發明公開了一種產生數字正弦信號的方法及裝置,該方法包括:將數字正弦信號的相位取值區間劃分為多個第一子區間;將多個第一子區間中的每一個劃分為多個第二子區間;將多個第二子區間中的每一個劃分為多個第三子區間;將待產生的數字正弦信號的相位值表示為其所在的第一子區間所對應的相位起始值、第二子區間所對應的相位起始值、第三子區間所對應的相位起始值與剩余量之和;以及根據整倍數和剩余量所對應的數字正弦信號值,用和差化積公式計算信號值以產生數字正弦信號。
【專利說明】
_種產生數字正弦信號的方法及裝置
技術領域
[0001] 本發明涉及數字信號處理技術領域,尤其涉及一種產生數字正弦信號的方法及裝 置。
【背景技術】
[0002] 數字正弦信號可以通過直接數字式頻率合成器(DDS)產生。DDS的基本原理是利用 采樣定理,通過查表法產生波形。
[0003] 圖1示出了DDS的原理框圖。其中的相位累加器可以由加法器和相位寄存器的輸出 組成。每來一個時鐘脈沖,加法器將頻率控制字K與相位寄存器輸出的累加相位數據相加, 把相加后的結果送至累加寄存器的數據輸入端。累加寄存器將加法器在上一個時鐘脈沖所 產生的新相位數據反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖輸入時,把頻率 控制字累加一次,相位累加器輸出的數據就是合成信號的相位,相位累加器的溢出頻率就 是DDS輸出的信號頻率。用相位累加器輸出的數據作為波形存儲器(ROM)的相位取樣地址, 這樣就可以把存儲在存儲器內的波形抽樣值查出,完成相位到幅值的轉換。波形存儲器的 輸出可以送到D/A轉換器,D/A轉換器可以將數字量形式的波形幅值轉化成所要求合成頻率 的模擬信號。
[0004] 為了提高產生的信號的精度,現有技術采用了增加相位量化值的個數的方法,但 這會消耗更多的波形存儲器空間。
【發明內容】
[0005] 本發明的目的在于提供一種產生數字正弦信號的方法及裝置,以解決現有技術中 存在的信號精度與存儲空間之間的矛盾的問題。
[0006] 本發明的一個實施例提供了一種產生數字正弦信號的方法,包括:將數字正弦信 號的相位取值區間劃分為多個第一子區間;將多個第一子區間中的每一個劃分為多個第二 子區間;將多個第二子區間中的每一個劃分為多個第三子區間;將待產生的數字正弦信號 的相位值表示為其所在的第一子區間所對應的相位起始值、第二子區間所對應的相位起始 值、第三子區間所對應的相位起始值與剩余量之和;以及根據整倍數和剩余量所對應的數 字正弦信號值,用和差化積公式計算信號值以產生數字正弦信號。
[0007] 本發明的另一個實施例提供了一種產生數字正弦信號的裝置,包括:第一子區間 劃分模塊,用于將數字正弦信號的相位取值區間劃分為多個第一子區間;第二子區間劃分 模塊,用于將多個第一子區間中的每一個劃分為多個第二子區間;第三子區間劃分模塊,用 于將多個第二子區間中的每一個劃分為多個第三子區間;相位值分解模塊,用于將待產生 的數字正弦信號的相位值表示為其所在的第一子區間所對應的相位起始值、第二子區間所 對應的相位起始值、第三子區間所對應的相位起始值與剩余量之和;以及幅度值計算模塊, 用于根據相位起始值和剩余量所對應的數字正弦信號值,用和差化積公式計算信號值以產 生數字正弦信號。
【附圖說明】
[0008] 通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。其中在附圖中,參考數字 之后的字母標記指示多個相同的部件,當泛指這些部件時,將省略其最后的字母標記。在附 圖中:
[0009] 圖1所示為現有的直接數字式頻率合成器的結構框圖;
[0010]圖2為本發明的產生數字正弦信號的方法的一個實施例的流程圖;
[0011]圖3所示為本發明的產生數字正弦信號的裝置的一個實施例的示意圖;
[0012]圖4為本發明的所劃分子區間示意圖。
[0013]在附圖中,使用相同或類似的標號來指代相同或類似的元素。
【具體實施方式】
[0014] 現在將參考附圖來詳細描述本發明的示例性實施方式。應當理解,附圖中示出和 描述的實施方式僅僅是示例性的,意在闡釋本發明的原理和精神,而并非限制本發明的范 圍。
[0015] 圖2為本發明的產生數字正弦信號的方法的一個實施例200的流程圖。實施例200 可以包含如下步驟201至205。
[0016]在步驟201中,將數字正弦信號的相位取值區間劃分為多個第一子區間。
[0017]為了節約ROM的存儲空間,通常可以根據正弦函數在各個象限之間對應的關系,只 在ROM內需存儲第一象限的正余弦函數相位所對應的幅度值。因此,本步驟中所說的數字正 弦信號的相位取值區間,可以是第一象限的范圍,即:相位值從〇到V2。
[0018]在本發明的一個實施例中,可以將0到π/2的相位取值區間等分為多個第一子區 間。如圖4所示,可以將0到V2的相位取值區間等分為8個第一子區間,圖4中的每一個小扇 形代表了一個第一子區間的范圍。
[0019] 在步驟202中,將多個第一子區間中的每一個劃分為多個第二子區間。
[0020] 對于通過步驟201劃分出的每一個第一子區間,還可以將其進一步地劃分為多個 第二子區間。比如,可以把每一個第一子區間等分成8個第二子區間。
[0021]在步驟203中,將多個第二子區間中的每一個劃分為多個第三子區間。
[0022]對于通過步驟202劃分出的每一個第二子區間,還可以將其進一步地劃分為多個 第三子區間。比如,可以把每一個第二子區間等分成16個第三子區間。
[0023] 在本發明的一個實施例中,一個第二子區間內的第三子區間的個數可以設置為既 不小于第二子區間的總數也不小于第一子區間的總數。比如,如果第一子區間的總數是k, 一個第一子區間內的第二子區間的個數是m,則一個第二子區間內的第三子區間的個數η可 以劃分成n 且n ^m。
[0024] 在步驟204中,將待產生的數字正弦信號的相位值表示為其所在的第一子區間所 對應的相位起始值、第二子區間所對應的相位起始值、第三子區間所對應的相位起始值與 剩余量之和。
[0025] 對于任意的一個數字正弦信號的相位值,都可以表示成其所在的第一子區間所對 應的相位起始值、第二子區間所對應的相位起始值、第三子區間所對應的相位起始值與剩 余量之和。以上述步驟中舉例的各級子區間的分割份數為例,對于一個相位值識:,可以表示 為廬=供._+% +約.+3 其中,科=/(?1:(;τ/ 2)/ 8表不相位值貨所在的第一子區間所對應的相 位起始值;麫=?$〇γ/2/8)/8表示相位值ρ所在的第二子區間所對應的相位起始值; 仍=m*(;r/2/8/8)/l:6表示相位值識所在的第三子區間所對應的相位起始值;d表示剩余 量,d<(Ji/2/8/8)/16。
[0026] 在步驟205中,根據相位起始值和剩余量所對應的數字正弦信號值,用和差化積公 式計算信號值以產生數字正弦信號。
[0027] 可以利用和差化積公式將需要產生的數字正弦信號值sinpisini^ +於2 +? +〇?) 展開成用納、史2、約和(1的正弦值、余弦值所表示的多項式。然后可以在ROM中查詢預先存 儲的約、外、%的正弦值、余弦值并對d的正弦值、余弦值進行近似處理,從而產生出數字 化的正弦信號。
[0028]至此描述了根據本發明實施例的產生數字正弦信號的方法。
[0029] 本發明還提供了產生數字正弦信號的裝置。參考圖3,圖3所示為本發明的產生數 字正弦信號的裝置的一個實施例300的示意圖。裝置300可以包括:第一子區間劃分模塊 301,用于將數字正弦信號的相位取值區間劃分為多個第一子區間;第二子區間劃分模塊 302,用于將多個第一子區間中的每一個劃分為多個第二子區間;第三子區間劃分模塊303, 用于將多個第二子區間中的每一個劃分為多個第三子區間;相位值分解模塊304,用于將待 產生的數字正弦信號的相位值表示為其所在的第一子區間所對應的相位起始值、第二子區 間所對應的相位起始值、第三子區間所對應的相位起始值與剩余量之和;以及幅度值計算 模塊305,用于根據相位起始值和剩余量所對應的數字正弦信號值,用和差化積公式計算信 號值以產生數字正弦信號。
[0030] 在本發明的一個實施例中,一個第二子區間內的第三子區間的個數可以既不小于 第二子區間的總數也不小于第一子區間的總數。
[0031] 至此描述了根據本發明實施例的產生數字正弦信號的裝置。
[0032] 下面的表1示出了第一子區間的總數k,一個第一子區間內的第二子區間的個數是 m和一個第二子區間內的第三子區間的個數η均相等的情況下的信號誤差。
[0033] 表 1
[0034]
[0035]下面的表2顯示了經過實際測試的各級子區間的劃分個數與信號誤差之間的關 系。
[0036]表2
[0037]
[0038] 其中,k為第一子區間的總數,m為一個第一子區間內的第二子區間的個數,η為一 個第二子區間內的第三子區間的個數。
[0039] 對比表1和表2可知,在劃分各級子區間的個數時,當一個第二子區間內的第三子 區間的個數較多而一個第一子區間內的第二子區間的個數和第一子區間的總數較少時,既 能節省存儲空間,又能使信號誤差較小、精度較高。比如,表2中各級子區間的個數劃分成 (8,16,16)或(16,8,16)時,其產生的正弦信號的誤差與表1中將各級子區間都分成16的正 弦信號誤差基本一致,但是按照(8,16,16)或(16,8,16)的分法,能夠明顯地節約存儲空間。
【主權項】
1. 一種產生數字正弦信號的方法,包括: 將數字正弦信號的相位取值區間劃分為多個第一子區間; 將所述多個第一子區間中的每一個劃分為多個第二子區間; 將所述多個第二子區間中的每一個劃分為多個第三子區間; 將待產生的數字正弦信號的相位值表示為其所在的第一子區間所對應的相位起始值、 第二子區間所對應的相位起始值、第三子區間所對應的相位起始值與剩余量之和;以及 根據所述整倍數和剩余量所對應的數字正弦信號值,用和差化積公式計算信號值以產 生數字正弦信號。2. 根據權利要求1所述的方法,其特征是,一個第二子區間內的第三子區間的個數既不 小于第二子區間的總數也不小于第一子區間的總數。3. -種產生數字正弦信號的裝置,其特征是,包括: 第一子區間劃分模塊,用于將數字正弦信號的相位取值區間劃分為多個第一子區間; 第二子區間劃分模塊,用于將所述多個第一子區間中的每一個劃分為多個第二子區 間; 第三子區間劃分模塊,用于將所述多個第二子區間中的每一個劃分為多個第三子區 間; 相位值分解模塊,用于將待產生的數字正弦信號的相位值表示為其所在的第一子區間 所對應的相位起始值、第二子區間所對應的相位起始值、第三子區間所對應的相位起始值 與剩余量之和;以及 幅度值計算模塊,用于根據所述相位起始值和剩余量所對應的數字正弦信號值,用和 差化積公式計算信號值以產生數字正弦信號。4. 根據權利要求3所述的裝置,其特征是,一個第二子區間內的第三子區間的個數既不 小于第二子區間的總數也不小于第一子區間的總數。
【文檔編號】H03B28/00GK105932966SQ201610250784
【公開日】2016年9月7日
【申請日】2016年4月21日
【發明人】武暢, 韓澤亮, 孫琳, 袁超, 顧紹忠, 西熱旦增
【申請人】電子科技大學, 中共西藏自治區委員會組織部