說明
最近在學中頻信號處理的一些東西,順便用 QT 寫了一個小工具,可以顯示信號的時域波形圖、幅度譜、功率譜、二次方譜、四次方譜、八次方譜、瞬時包絡、瞬時頻率、瞬時相位、非線性瞬時相位、瞬時幅度直方圖、瞬時頻率直方圖、瞬時相位直方圖、眼圖、星座圖、語譜圖、瀑布圖,
目錄- 說明
- 1. 實作思路
- 2. 時域波形圖
- 3. 幅度譜
- 4. 功率譜
- 5. 二次方譜
- 6. 四次方譜
- 7. 八次方譜
- 8. 瞬時包絡
- 9. 瞬時頻率
- 10. 瞬時相位
- 11. 非線性瞬時相位
- 12. 瞬時幅度直方圖
- 13. 瞬時頻率直方圖
- 14. 瞬時相位直方圖
- 15. 眼圖
- 16. 星座圖
- 17. 語譜圖
- 18. 瀑布圖
1. 實作思路
工具為純 C++ 開發,包括頻譜計算以及影像可視化,這里簡述下實作思路,使用到了以下第三方庫:
- QCustomPlot 繪圖庫,
- FFTW 傅氏變換庫,
- FreeGlut 工具包,
頻譜計算部分,通過呼叫 FFTW 的 C++ 介面,同時開啟 OpenMP 多核支持,可以獲得很快的計算速度,比 MATLAB 還快,工具中的所有頻譜都是在點擊按鈕時現算的,在我的電腦上(8 核 Intel i7-6700HQ CPU @ 2.60GHz),實測對 33554432 長度(2 的 25 次方)的雙精度浮點陣列進行傅里葉變換,兩種方式的耗時如下:
- MATLAB 的
fft
函式耗時 629 毫秒, - C++ 呼叫 FFTW 介面并開啟 OpenMP 多核支持,耗時 390 毫秒,
影像可視化部分,使用 QCustomPlot 完成影像繪制,并結合 FreeGlut 工具開啟 OpenGL 支持,繪圖質量及回應速度也得到了較好的提升,大資料顯示并進行互動時不會出現卡頓,為了進一步提升速度,還修改了 QCustomPlot 的部分原始碼,將資料更新介面暴露出來,使用 memcpy()
直接對原始繪圖資料所在的記憶體塊進行操作,提升資料更新的速度,主界面如下:
2. 時域波形圖
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,波形顯示時做了貝塞爾平滑處理,
3. 幅度譜
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,
4. 功率譜
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,
5. 二次方譜
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
6. 四次方譜
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
7. 八次方譜
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
8. 瞬時包絡
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
9. 瞬時頻率
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,
10. 瞬時相位
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
11. 非線性瞬時相位
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
12. 瞬時幅度直方圖
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
13. 瞬時頻率直方圖
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,
14. 瞬時相位直方圖
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
15. 眼圖
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,基帶信號,檔案大小 64 MB,
16. 星座圖
測驗信號:8PSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,載波頻率 71104 Hz,檔案大小 64 MB,
17. 語譜圖
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,從計算到顯示總耗時不超過 1 秒,
18. 瀑布圖
測驗信號:2FSK 調制,調制速率 8888 Baud/s,采樣率 284416 Hz,信號頻率 62216 Hz 與 79992Hz,檔案大小 64 MB,譜線為實時計算,由于 GIF 上傳大小限制為 5 MB,錄制為 GIF 時做了質量損失,
本文作者:木三百川
本文鏈接:https://www.cnblogs.com/young520/p/17438635.html
著作權宣告:本文系博主原創文章,著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請附上出處鏈接,遵循 署名-非商業性使用-相同方式共享 4.0 國際版 (CC BY-NC-SA 4.0) 著作權協議,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/553640.html
標籤:其他
下一篇:返回列表