上司给我讲采样率,我觉得自己有点钻牛角尖了,想来想去还是不明白。

因为说的是日语,サンプリング周波数,我就想是不是我对这个单词有什么误解,但是查了还是采样频率。要哭了。

采样频率就是一个周期内的采样次数。画正弦波的时候就很迷惑,越想越不明白。

一开始的代码是这样的

1 for (double theta = 0.0; theta <= 2 * Math.PI; theta += Math.PI / (360 * 20))2 {3 SinA.Points.AddXY(theta, Math.Sin(2 * Math.PI * theta *Convert.ToDouble(SinACb.Text)));4 SinB.Points.AddXY(theta, Math.Sin(2 * Math.PI * theta *Convert.ToDouble(SinBCb.Text)));5 }

后来上司让我把采样率改成4096,代码变成了这样。

1 double time = 0.000;2

3 for (int i = 0; i < 4096; i++)4 {5 dataA[i] = Math.Sin(2 * Math.PI * Convert.ToDouble(SinACb.Text) *time);6 time += 0.001;7 SinA.Points.AddXY(time, dataA[i]);8 dataB[i] = Math.Sin(2 * Math.PI * Convert.ToDouble(SinBCb.Text) *time);9 SinB.Points.AddXY(time, dataB[i]);10 }

我还是很不理解啊啊啊,这两个没有实际区别吧。这两个代码都是固定了总的取点数啊。

我理解的采样率,每个周期采4096个点,频率不同,采样间隔也不同,但是这样画出来的波就很诡异,两个波合成后是什么牛鬼蛇神。然后跟上司继续讨论(其实是我单方面提问qwq,然后说sampling频率是两个采样点的时间间隔

???我又误解了吗?日语本来就不咋地,我觉得我理解不了了,自己回工位闷头研究。

到这一步我还是没有问题的。因为画波,合成,用不到采样频率。

接下来就是傅里叶变换了。用了MathNet的包,直接调用就可,反正傅里叶的内心我理解不了。

1 for (int i = 0; i < 4096; i++)2 {3

4 FFT.Points.AddXY(FFT_Freq_Calc(1000, 4096, i),5 FFT_dBAmplitudeCalc(complexData[i].Real, complexData[i].Imaginary));6 }

这个频率的计算我就很迷惑,sampling频率除以4096乘以i,这个频率我不知道怎么确定,用了4096*50,导致最后的图x轴和频率不吻合,以下是失败图

当事人就是蒙蔽,非常蒙蔽。咋还成一条直线了呢?然后试着调整这个值,当我鬼使神差写了1000以后,奇迹发生了

呜呜呜这么正常的图谁看到不要感动!我就顿悟了为什么是1000,还记得一开始时间间隔设置成0.001了吗,取个倒数就是1000了

所以问题就这么突然地解决了。以下是逆变换的代码。

1 iFFTAnalysis2(refcomplexData);2

3 areaFFT.AxisX.Maximum = 0.2;4 areaFFT.AxisX.Minimum = 0;5 areaFFT.AxisX.MajorTickMark.Interval = 1;6

7

8 areaFFT.AxisY.Maximum = 2;9 areaFFT.AxisY.Minimum = -2;10 areaFFT.AxisY.MajorTickMark.Interval = 1;11

12 double time = 0.000;13 for (int i = 0; i < 4096; i++)14 {15 time += 0.001;

16 FFT.Points.AddXY(time, complexData[i].Real);17 }

一开始不懂变换后的复数怎么办,只好用笨方法把复数的值复制到excel,然后画图,看效果,最后发现实部是y值,也就是sin函数的值。

c# 傅里叶变换 频域_C# 傅里叶变换 逆变换 调用MathNet包相关推荐

  1. python傅里叶逆变换_C# 傅里叶变换 逆变换 调用MathNet包|简明python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 上司给我讲采样率,我觉得自己有点钻牛角尖了,想来想去还是不明白. 因为说的是日语,サンプリング周波数,我就 ...

  2. c# 傅里叶变换 频域_傅里叶变换在MATLAB中的应用(频域滤波)

    点击上方蓝字  关注我们 本文主要讲述如何在MATLAB中实现频域滤波,那么,怎么实现呢,我们这里讲的所有的滤波都是通过傅里叶变换在频域中实现的,所有这部分和傅里叶变换渊源很深,至于傅里叶变换本身,我 ...

  3. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波

    频率域滤波与空间域滤波殊途同归,空间域图像增强与频率域图像增强是两种截然不同的技术,实际上在相当程度上说它们是在不同的领域做相同的事情,只是有些滤波更适合在空间域完成,而有些则更适合在频率域中完成. ...

  4. CV:计算机视觉技术之图像基础知识(一)—以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边)

    CV:计算机视觉技术之图像基础知识(一)-以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边) 目录 一.图像中的傅里叶变换 1 ...

  5. 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)

    [经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...

  6. 傅里叶变换频域积分性质和频域卷积性质证明

    傅里叶变换频域积分性质和频域卷积性质证明 最近在学习信号与系统这门课程,其中的一个知识点就是傅里叶变换的性质,为了更好地记忆和使用这些性质,最好是知道这些性质的证明过程,而有些性质如频域积分和频域卷积 ...

  7. 傅里叶变换+频域滤波

    傅里叶变换+频域滤波 cv2.imread()基本参数介绍 傅里叶变换 什么是频域 傅里叶变换的由来 傅里叶变换算法 DFT, FFT 灰度图 这个博客记得看看 cv2.imread()基本参数介绍 ...

  8. Matlab如何进行利用离散傅里叶变换DFT (快速傅里叶变换FFT)进行频谱分析

    文章目录 1. 定义 2. 变换和处理 3. 函数 4. 实例演示 例1:单频正弦信号(整数周期采样) 例2:单频正弦信号(非整数周期采样) 例3:含有直流分量的单频正弦信号 例4:正弦复合信号 例5 ...

  9. 时间序列信号处理(四)——傅里叶变换和短时傅里叶变换python实现

    一.傅里叶变换(FFT) 一维时间序列信号为典型的离散信号,需要使用离散傅里叶变换,FFT变换就是将时域信号转到频域阶段分析,分析更深入,了解时域信号的频域特性.注意傅里叶变换只适用于平稳信号. F( ...

最新文章

  1. linux连接wifi账户密码忘了怎么办,wifi登录密码忘了怎么办?
  2. HTTP请求中的缓存(cache)机制
  3. C#中的几种加密算法整理
  4. 如何完全卸载VS2010
  5. 转-eclipse管理多个workspace
  6. IN-我的生活in记 | 手摸手产品研究院
  7. 深入单例模式 java,深入单例模式四
  8. Linux进程全解11——进程间通信(IPC)概述
  9. python可变类型和不可变深浅拷贝类型_python3笔记十四:python可变与不可变数据类型+深浅拷贝...
  10. 正则表达式 —— 括号与特殊字符
  11. DotNetBar 教程
  12. 哈佛结构 Linux,哈佛结构与冯诺依曼结构区别
  13. linux 下拉式 终端,Gnome桌面的下拉式终端: Guake
  14. mysql拼接字符串
  15. Asp .NetCore 支付宝网页授权登录
  16. 成功解决The type Dog is already defined问题
  17. 3. Unity之三维模型
  18. 深入理解地址翻译 CSAPP
  19. 清华计算几何大作业(一):CG2017 PA1-1 Convex Hull (凸包)
  20. 正圆锥体空间方程_电路原理中三相缺相保护器是如何工作的,正负序与它有什么关系...

热门文章

  1. PDMS插件_三维地形工具
  2. 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
  3. edge浏览器如何把网页放到桌面_win10怎么把网页放在桌面上
  4. c语言动态规划算法数塔问题,动态规划之数塔问题...
  5. Python和C语言哪个更容易学,感觉学了C语言有点难,只学过C语言的大学生很迷茫?
  6. 域名过期什么时候才能注册
  7. ImportError: DLL load failed while importing _multiarray_umath: 找不到指定的模块(pyinstaller打包的问题)
  8. Daily Reading Time-十月
  9. 打不开 /dev/vmmon: 无此文件或目录。请确保已载入内核模块 ’vmmon’”。
  10. 力扣 (LeetCode)-对称二叉树,树|刷题打卡