調幅波:使載波訊號隨著調製訊號的幅值改變而改變後調製出來的波形,經過調幅的電波叫調幅波,其具有高頻載波的頻率特性,但是包絡線的變化和調製訊號的波形變化相似,調幅波的振幅大小,由調製訊號的強度決定。
調幅波的產生有很多種方法:
1、調幅電路
2、兩個差頻訊號疊加,am調製的波形可以看成是兩個正弦函式相乘,所以根據下面的公式可以得出,兩個訊號相減(相加)都是可以得出調幅波的。其中包絡線的頻率就是兩個訊號頻率的差值,調幅波的幅值與載波訊號和調製訊號有關。
3、使用晶元直接輸出相應的波形,例如stm32計算波形函式或陣列輸出給da,用dsp直接輸出,用fpga晶元輸出都可以實現。
這次主要說一下使用fpga怎麼輸出調製波形
首先準備兩個裝有正弦函式陣列的兩個「.mif」檔案
然後分別設定兩個rom ip核備用,具體的可以看這個
mr.d:如何用fpga輸出正弦波、三角波等zhuanlan.zhihu.com
設定好ip核後設定頂層檔案用於鏈結各個檔案
ip核頂層檔案
接下來開始讀取ip核中的內容做波形資料的處理,從ip核中分別取出的兩個波形的資料分別為載波訊號和調製訊號,資料取出後先不要發給da,由於需要發出的波形是乙個調幅波,所以發出之前我們要先處理一下,之後才是我們需要的調幅波的資料,這時候就可以傳送給da了。
分別讀出兩個ip核內的資料
關於資料處理就很簡單了,由於生成的陣列是全都在x軸以上的資料,所以在相乘之前需要把載波訊號的資料統一減去最大值的一半,這樣可以保證乘法過後中軸線保持在x軸上面。對於調製訊號同樣要經過這樣的處理,另外調製訊號我們只需要其二分之一個週期就可以了。這樣的兩個訊號想乘過後再統一加上最大值的一半,將其全部抬公升至x軸以上,至於為什麼要這樣做呢?是因為da只能過正值,所以需要將訊號抬到x軸以上。而後這個資料就可以輸出到da了。
調幅波資料處理
對於陣列檔案的位寬及個數選擇一定要根據所使用的da晶元的位寬來選擇自己合適的大小,反正是8位的位寬是一定實現不了的,我用的是十位的位寬da晶元。如果陣列的位寬選擇過大,乘法過後就超出了da的位寬限制,輸出的結果可能是個類似方波和梯形波的組合。選擇陣列位寬過小,輸出的波形可能會失真。
以上就是我自己做過的幾種方法,考慮不周還請大佬指正
隨便聊聊
有什麼缺漏的地方還請海涵,不喜勿噴喲。其實對於fpga我也是個初學者,能力上比不了大佬,大佬們看這也就是圖一樂兒。
fpga、linux、arm、zynq、樹莓派、易語言等等這些我都有在學習,有時間就會發上來一些小玩意兒,大家一起聊一聊。
輸出楊輝三角
程式的版權和版本宣告部分 檔名稱 fibnacci.cpp 作 者 單虹毓 完成日期 2013 年 12 月 4 日 版本號 v1.0 輸入描述 無 問題描述 楊輝三角 程式輸出 1 第0列和對角線上的元素都為1。程式輸出 2 除第0列和對角線上的元素以外,其它元素的值均為前一行上的同列元素和前一列...
輸出「上三角」
方陣的主對角線之上稱為 上三角 請你設計乙個用於填充n階方陣的上三角區域的程式。填充的規則是 使用1,2,3 的自然數列,從左上角開始,按照順時針方向螺旋填充。程式執行時,從標準輸入獲得整數n 3 20 程式輸出 方陣的上三角部分。要求格式 每個資料寬度為4,右對齊。3 45 1 2 36 451 ...
MATLAB產生三角波
simulink產生三角波的三種方法 xianfa110 在這裡我採用兩種方法產生三角波,並做成了simulink模組形式,以後可直接呼叫。模組 引數設定 第一種方法,基於方波產生三角波。很簡單,框圖如下,由積分器產生帶斜率的直線,由方波的週期控制三角波的週期。第二種方法,由觸發方式產生三角波。這種...