随笔 - 435  文章 - 0  评论 - 111  阅读 - 62万 
复制代码
    Const Pts = 8192 ' number of samples - ' must be a power of two for the AutoPowerSpectrumFunction
    Const AmpNoise = 0.2 'amplitude of the noise
    Const AmpData = 5 ' amplitude of the sine wave
    Const SineWaveFreq = 25 ' frequency of sine wave
      ' generate random data between -AmpNoise & AmpNoise
    Noise = CWDSP1.WhiteNoise(Pts, AmpNoise, Timer Mod 32767)
        
     ' generate the sine wave
     Waveform = CWDSP1.SineWave(Pts, AmpData, SineWaveFreq / Pts, phase)
     For n = 0 To UBound(Waveform)
            Waveform(n) = Waveform(n) + 5
     Next
     ' add the noise & the data
    'Waveform = CWArray1.AddArray(Waveform, Noise)
    CWGraph1.Plots(1).PlotY Waveform
    
     waveForm1 = CWDSP1.SineWave(Pts, 4.9, 25 / Pts, phase)
    For n = 0 To UBound(waveForm1)
            waveForm1(n) = waveForm1(n) + 4.9
    Next
    CWGraph1.Plots(2).PlotY waveForm1, -240
复制代码

 

正弦波FFT变换后的波形

 

加个汉宁窗函数,不知道是不是这样 

 

 

0.5 - 0.5 * Cos((2 * Pi * (当前点数 - 1)) / (总点数 - 1)) 

 

 

波幅变小了.  目测是600Hz内的波幅都变小了, >600Hz的波幅变大了. 计算总值要取多少Hz以内的?

 

posted on   Gu  阅读(399)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示