当前位置: 首页 > news >正文

企业网站建设需要哪些费用东莞厚街家具

企业网站建设需要哪些费用,东莞厚街家具,个人网站设计与开发,做爰在线网站文章目录前言一、希尔伯特变换是什么#xff1f;二、VC中的实现原理及代码示例三、用Python代码实现总结前言 在数学和信号处理中#xff0c;**希尔伯特变换#xff08;Hilbert transform#xff09;**是一个对函数产生定义域相同的函数的线性算子。 希尔伯特变换在信号处… 文章目录前言一、希尔伯特变换是什么二、VC中的实现原理及代码示例三、用Python代码实现总结前言 在数学和信号处理中**希尔伯特变换Hilbert transform**是一个对函数产生定义域相同的函数的线性算子。 希尔伯特变换在信号处理中很重要能够导出信号u(t)的解析表示。这就意味着将实信号u(t)拓展到复平面使其满足柯西黎曼方程。例如希尔伯特变换引出了傅里叶分析中给定函数的调和共轭也就是调和分析。等价地说它是奇异积分算子与傅里叶乘子的一个例子。 希尔伯特变换是以大卫·希尔伯特来命名的他首先引入了该算子来解决全纯函数的黎曼–希尔伯特问题的一个特殊情况。 一、希尔伯特变换是什么 希尔伯特变换最初只对周期函数也就是圆上的函数有定义在这种情况下它就是与希尔伯特核的卷积。然而更常见的情况下对于定义在实直线R上半平面的边界上的函数希尔伯特变换是指与柯西核卷积。希尔伯特变换与帕利-维纳定理有着密切的联系帕利-维纳定理是将上半平面内的全纯函数与实直线上的函数的傅里叶变换相联系起来的另一种结果。 二、VC中的实现原理及代码示例 VC中可以通过快速傅里叶变换FFT来实现希尔伯特变换。 以下是一个简单的C代码实现希尔伯特变换需要使用C11及以上版本的标准库。首先我们需要实现一个FFT函数然后使用FFT函数来实现希尔伯特变换。 #include iostream #include cmath #include complex #include vectorusing namespace std;typedef complexdouble Complex; typedef vectorComplex ComplexVector;// 快速傅里叶变换 void fft(ComplexVector data) {int n data.size();if (n 1) {return;}// 分离偶数项和奇数项ComplexVector even(n/2), odd(n/2);for (int i 0; i n; i 2) {even[i/2] data[i];odd[i/2] data[i1];}// 递归计算偶数项和奇数项的FFTfft(even);fft(odd);// 计算每个k点的DFTfor (int k 0; k n/2; k) {Complex t polar(1.0, -2 * M_PI * k / n) * odd[k];data[k] even[k] t;data[kn/2] even[k] - t;} }// 希尔伯特变换 void hilbertTransform(ComplexVector signal) {int n signal.size();// 扩展信号长度至2的幂次方int n2 1;while (n2 n) {n2 * 2;}signal.resize(n2);// 进行FFT变换fft(signal);// 对FFT结果进行处理for (int i 1; i n; i) {signal[i] * 2;}for (int i n; i n2; i) {signal[i] 0;}signal[0] 1;signal[n] 0;// 反向FFT变换fft(signal);for (int i 0; i n; i) {signal[i] signal[i].imag() / n;} }int main() {ComplexVector signal {1, 2, 3, 4, 5, 6, 7, 8};hilbertTransform(signal);// 输出结果for (int i 0; i signal.size(); i) {cout signal[i] ;}cout endl;return 0; }上述代码中我们首先实现了一个快速傅里叶变换函数fft然后在hilbertTransform函数中使用FFT计算希尔伯特变换。在希尔伯特变换的计算过程中我们首先对信号进行了长度的扩展然后进行了FFT变换接着根据希尔伯特变换的公式进行了FFT结果的处理最后进行反向FFT变换得到最终的希尔伯特变换结果。 在上述代码中我们使用了复数类型complex和向量类型vector来方便地处理信号和FFT结果。在实际应用中我们可以将输入信号读取自文件或者从实时采集的数据中获取然后调用hilbertTransform函数进行希尔伯特变换得到变换后的信号。 三、用Python代码实现 使用Python也可以方便地实现希尔伯特变换。下面是一个使用numpy库实现希尔伯特变换的示例代码 import numpy as npdef hilbert_transform(signal):计算希尔伯特变换n len(signal)# 扩展信号长度至2的幂次方n2 1while n2 n:n2 * 2signal np.append(signal, np.zeros(n2 - n))# 进行FFT变换spectrum np.fft.fft(signal)# 对FFT结果进行处理spectrum[1:n] * 2spectrum[n:] 0spectrum[0] 1spectrum[n] 0# 反向FFT变换hilbert np.real(np.fft.ifft(spectrum))hilbert hilbert[:n]return hilbertif __name__ __main__:signal [1, 2, 3, 4, 5, 6, 7, 8]hilbert hilbert_transform(signal)# 输出结果print(hilbert)上述代码中我们首先将输入信号扩展至2的幂次方长度然后使用numpy.fft.fft函数进行FFT变换对FFT结果进行处理最后使用numpy.fft.ifft函数进行反向FFT变换得到希尔伯特变换结果。 需要注意的是由于numpy.fft.fft函数返回的结果是按照FFT变换的频率从小到大排列的而希尔伯特变换则是在时域上进行的因此我们需要对FFT结果进行一定的处理才能得到正确的希尔伯特变换结果。在上述代码中我们对FFT结果进行了一系列处理包括将非零频率部分的幅度乘以2将非零频率部分之外的频率置零以及将直流分量和Nyquist频率分量的值分别设为1和0从而得到正确的希尔伯特变换结果。 总结 在实际应用中我们可能需要对信号进行预处理和后处理以得到更好的变换结果。另外由于FFT算法的复杂度为O(NlogN)在处理大规模的信号时可能会带来一定的计算负担需要进行优化或者使用更高效的算法。 希望对看到的小伙伴有帮助。
http://www.hkea.cn/news/14512092/

相关文章:

  • 深圳网站公司排名成都网站建设是什么
  • 凡科网做网站的图片办图网ppt模板免费下载
  • 淄博网站制作定制优化企业手机网站建设报价
  • 开网站建设公司赚钱吗郑州 做网站
  • 国内知名的网站设计公司软件开发专业培训学校
  • 网站加载流量wordpress 加文章列表
  • 网站下雪的效果怎么做的红色企业网站源码
  • vue单页面做网站加载慢做网站首页需要什么资料
  • 完备的网站建设asp网站整站下载器
  • 江苏网站建设系统方案直播网站开发源码下载
  • 福永网站建设公司有没有网站开发 软件有哪些
  • 在网站建设中 为了防止工期拖延搭建微擎网站后怎么做微官网
  • 个人创建网站程序软件开发管理软件
  • 咸阳做网站的公司有哪些微商网站开发
  • 网站管理端怎么做企业网站建设方案资讯
  • 常州网站建设优质商家wordpress 如果
  • 旅游网站建设规划书主题仁茂网络seo
  • 上海注册公司核名网站地瓜互联 wordpress
  • 网站是怎样建立的流程是什么沈阳看男科哪家医院好
  • 做网站开发要具备哪些素质网络培训网站开发文献综述
  • 做空的网站有哪些网站不接入备案
  • 常州钟楼建设局网站微信插件大全下载
  • 朔州网站建设收费整合营销传播理论
  • 网站的绝对路径1668阿里巴巴官网
  • 网站备案 优帮云广告设计学什么
  • 网站建设及运营个人心得深圳市住房和城乡建设局
  • 陕西省住房与城乡建设部网站wordpress新用户管理
  • 百度提交网站收录查询北京市建设工程造价管理处 网站
  • 太原制作网站的工作室wordpress媒体库查询页
  • 网站开发用户登陆的安全哪一个军事网站做的比较好