聚星C#數(shù)字信號處理工具包頻譜分析的用法
聚星C#數(shù)字信號處理工具包頻譜分析
JXI C# DSP Tools, Spectrum Analysis
聚星針對C#平臺開發(fā)了數(shù)字信號處理工具包。 這里講解頻譜分析用法:
引用
SeeSharpTools.JXI.DSP C:\SeeSharp\JXInst\SeeSharpTools\DSP\Bin\SeeSharpTools.JXI.DSP.dll
代碼
Complex[] readData = new Complex[AILength]; double[] spectrum = new double[AILength]; ... SpectrumTask _spectrumAnalyzer; _spectrumAnalyzer = new SpectrumTask(); _spectrumAnalyzer.InputDataType = InputDataType.Complex; //復(fù)數(shù)IQ頻譜 _spectrumAnalyzer.SampleRate = aiTask.SampleRate; //這里放采樣率 _spectrumAnalyzer.WindowType = FFTWindowType.Blackman_Harris; //B=2.0044 窗函數(shù) _spectrumAnalyzer.Unit.Type = SpectrumOutputUnit.dBm;//單位 _spectrumAnalyzer.Unit.Impedance = 50;//電阻 _spectrumAnalyzer.Unit.IsPSD = checkBoxPSD.Checked;//是否密度譜 _spectrumAnalyzer.Output.NumberOfLines = AILength; //頻譜線數(shù)量,可以是時(shí)域波形長度 _spectrumAnalyzer.GetSpectrum(readData, ref spectrum);
aiTask.SampleRate
checkBoxPSD.Checked
spectralLines
readData
spectrum
應(yīng)該根據(jù)實(shí)際情況改成你的程序里面的變量。
其中readData是輸入時(shí)域波形,spectrum是頻譜。
C# 數(shù)字信號處理工具包 DSP-Core 重采樣(Resample)輸出點(diǎn)數(shù)是多少
問題:
DSP-Core里面的EasyResample是簡單的輸入-輸出方法。(SeeSharpTools.JXI.SignalProcessing.Conditioning.EasyResample)
如果你輸入1000個(gè)點(diǎn),要求輸出(歸一化)采樣間隔0.1,也就是內(nèi)插10倍,輸出是8300個(gè)點(diǎn)。為什么不是10,000個(gè)點(diǎn)呢?
重采樣截短效應(yīng)
本算法是利用有限長沖激響應(yīng)濾波器,實(shí)現(xiàn)頻譜失真極小的采樣率轉(zhuǎn)換。這種轉(zhuǎn)換是根據(jù)171個(gè)采樣點(diǎn)內(nèi)插估計(jì)進(jìn)行重采樣的。由于軟件不知道你給出的波形前后是什么情況(邊界條件),軟件只計(jì)算中間一段的波形,也就是要把原始采樣的170個(gè)采樣點(diǎn)(頭尾各85個(gè)點(diǎn))作為邊界條件。
那么在計(jì)算內(nèi)插或者篩減的時(shí)候就先要去掉170個(gè)點(diǎn)。
在前面問題假設(shè)情況下,1000個(gè)點(diǎn)減掉170個(gè)點(diǎn),再內(nèi)插10倍:
(1000-170)*10 = 8300
例:
對于降采樣,比如歸一化采樣間隔10,1000個(gè)點(diǎn)輸入得到
(1000-170) / 10 = 83個(gè)點(diǎn)輸出
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C# Socket編程實(shí)現(xiàn)簡單的局域網(wǎng)聊天器的示例代碼
這篇文章主要介紹了C# Socket編程實(shí)現(xiàn)簡單的局域網(wǎng)聊天器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03C#常用數(shù)據(jù)結(jié)構(gòu)和算法總結(jié)
這篇文章主要介紹了C#常用數(shù)據(jù)結(jié)構(gòu)和算法,這里我們總結(jié)了一些知識點(diǎn),可以幫助大家理解這些概念。2016-06-06DevExpress GridView自動(dòng)滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了DevExpress GridView自動(dòng)滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06在C#使用字典存儲事件示例及實(shí)現(xiàn)自定義事件訪問器
這篇文章主要介紹了在C#使用字典存儲事件示例及實(shí)現(xiàn)自定義事件訪問器的方法,是C#事件編程中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-02C# PC版微信消息監(jiān)聽自動(dòng)回復(fù)的實(shí)現(xiàn)方法
這篇文章主要介紹了C# PC版微信消息監(jiān)聽自動(dòng)回復(fù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Unity編輯器資源導(dǎo)入處理函數(shù)OnPostprocessTexture實(shí)例深入解析
這篇文章主要為大家介紹了Unity編輯器資源導(dǎo)入處理函數(shù)OnPostprocessTexture實(shí)例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09淺談static a[n*m]={0};中static的作用
下面小編就為大家?guī)硪黄獪\談static a[n*m]={0};中static的作用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03