欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聚星C#數字信號處理工具包頻譜分析的用法

 更新時間:2023年02月26日 13:20:44   作者:JXISH  
這篇文章主要介紹了聚星C#數字信號處理工具包頻譜分析的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

聚星C#數字信號處理工具包頻譜分析

JXI C# DSP Tools, Spectrum Analysis

聚星針對C#平臺開發(fā)了數字信號處理工具包。 這里講解頻譜分析用法:

引用

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;  //復數IQ頻譜
_spectrumAnalyzer.SampleRate = aiTask.SampleRate;  //這里放采樣率
_spectrumAnalyzer.WindowType = FFTWindowType.Blackman_Harris;  //B=2.0044 窗函數
_spectrumAnalyzer.Unit.Type = SpectrumOutputUnit.dBm;//單位
_spectrumAnalyzer.Unit.Impedance = 50;//電阻
_spectrumAnalyzer.Unit.IsPSD = checkBoxPSD.Checked;//是否密度譜
_spectrumAnalyzer.Output.NumberOfLines = AILength;  //頻譜線數量,可以是時域波形長度
_spectrumAnalyzer.GetSpectrum(readData, ref spectrum);
  • aiTask.SampleRate
  • checkBoxPSD.Checked
  • spectralLines
  • readData
  • spectrum

應該根據實際情況改成你的程序里面的變量。

其中readData是輸入時域波形,spectrum是頻譜。

C# 數字信號處理工具包 DSP-Core 重采樣(Resample)輸出點數是多少

問題:

DSP-Core里面的EasyResample是簡單的輸入-輸出方法。(SeeSharpTools.JXI.SignalProcessing.Conditioning.EasyResample)

如果你輸入1000個點,要求輸出(歸一化)采樣間隔0.1,也就是內插10倍,輸出是8300個點。為什么不是10,000個點呢?

重采樣截短效應

本算法是利用有限長沖激響應濾波器,實現頻譜失真極小的采樣率轉換。這種轉換是根據171個采樣點內插估計進行重采樣的。由于軟件不知道你給出的波形前后是什么情況(邊界條件),軟件只計算中間一段的波形,也就是要把原始采樣的170個采樣點(頭尾各85個點)作為邊界條件。

那么在計算內插或者篩減的時候就先要去掉170個點。

在前面問題假設情況下,1000個點減掉170個點,再內插10倍:

(1000-170)*10 = 8300

例:

對于降采樣,比如歸一化采樣間隔10,1000個點輸入得到

(1000-170) / 10 = 83個點輸出

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論