小波变换网文精粹:小波变换教程(四)

离散小波变换_小波变换教程(四):多尺度分析和离散小波变换 本文讲解ROBI POLIKAR编写的小波变换教程《THE WAVELET TUTORIAL》的第四部分:多尺度分析和离散小波变换。教程链接:http://users.rowan.edu/~polikar/WTtutorial.html1)为什么需要离散小波变换尽管已经能够在电脑上计算离散形式的连续小波变换(小波级数),但它还不是真正意义上的离散变换。因为小波级数只是连续小波变换的采样版... 阅读详情

小波变换网文精粹:小波变换教程(四)

原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial

网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html

译文转自:http://blog.163.com/renfengyuee@126/blog/static/35943136200910593251418/

四、为什么我们需要频率信息(2)?

        让我们再看一个例子,图1.5显示了一个包含四个频率分量的信号,它们分别在不同时刻出现,因此这是一个非平稳信号。0-300ms时是一个100Hz的正弦波,300-600ms时则是一个50Hz的正弦波,600-800ms时是一个25Hz的正弦波,最后的200ms内是一个10Hz正弦波。

                        

                                                                                             图1.5

下图是它的傅立叶变换:

                        

                                                                                                 图1.6

        不要担心图中出现那些毛刺,那是由于信号中频率的突变引起的,在这篇文章里这些没有意义。注意到那些高频分量的幅度比低频分量大,这是因为高频信号比低频信号持续时间更长一些(分别为300ms和200ms)(信号中各频率分量的确切值并不重要)。

        除了那些毛刺,图中的一切看起来都是正常的,有四个尖峰,对应原始信号中的四个频率分量,应该是正确的…

        错!

        当然了,也不完全错,但起码不完全对。对图1.2,考虑以下问题:各个频率分量都是在什么时刻出现的?

        答案是

        在所有时刻!还记得平稳信号吗?所有频率分量在信号的整个周期内一直存在,10Hz的信号一直存在,50Hz的信号亦然,100Hz的信号亦然。

        现在,让我们来考虑一下图1.4或1.5展示的非平稳信号。

        各个频率分量都是在什么时刻出现的?

        对于图1.6来说,我们知道,在第一个时间段内出现的是最高频率的分量,在最后一个时间段内出现的是最低频率的分量。图1.5中信号的频率分量一直在变,因此,对这些信号来说,各个频率分量并没有出现在任意时刻。

        现在,比较一下图1.3和1.6,二者的相似之处是显而易见的,在图中都显示了四个几乎一样的频率分量,即10,25,50和100Hz。除了1.6中的那些毛刺和两幅图中各频率分量的幅值(这些幅值可以做归一化处理),两幅频谱图几乎是一致的,虽然相应的时域信号之间差别很大。两个信号都包含了相同的频率分量,但是前者中的各频率分量出现在信号的整个周期内,而后者的频率分量则在不同的时间段内出现。那么,是什么导致两个完全不同的原始信号经傅立叶变换后的波形这么相像呢?回想一下,傅立叶变换仅仅给出了信号的频谱分量,但是却没有给出这些频谱分量的出现时间。因此,对于非平稳信号来说,傅立叶变换是不合适的,但有一个例外:

        只有当我们仅仅关心信号中是否包含某个频率分量而不关心它出现的时间的时候,傅立叶变换才可以用于处理非平稳信号。但是,如果这些信息是我们需要的(假设),如果我们想知道频率分量出现的确切时间,傅立叶变换就不是合适的选择了。

        对实际应用来说,很难把两者的区分开来,因为现实中平稳的和非平稳的信号都很多。举例来说,几乎所有的生物信号都是非平稳的,这其中著名的就是心电图(ECG)、脑电图(EEG)和肌电图(EMG)。

        请注意,傅立叶变换仅仅给出了信号的频率分量信息,仅此而已,无它。

        当需要对频谱分量进行时间定位时,则需要一个可以得到信号的时频表示的数学变换。

PS:原文pdf打包下载地址:http://download.youkuaiyun.com/detail/deepdsp/4061006

Wavelet Tutorial_Robi_Polikar原版+翻译 Robi Polikar博士的博客文章《The Wavelet Tutorial》英文及中文翻译版本 立即下载

相关推荐

四元数值函数的小波变换 (2003年)

定义了L2(Rn,H)中的小波变换,给出了相应的重构公式,同时,得到了四元数值函数的连续小波x光变换的Parseval恒等式.

通过小波文献调研得到的有用网址

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

yyywww666的专栏 3975

hingfui.zip_Quaternion Wavelet _四元数 小波

包括四元数的各种计算,matlab小波分析程序,有信道编码,调制,信道估计等。

常用函数的傅里叶变换_傅里叶变换简介

傅里叶变换是一种线性积分变换,用于信号在时域和频域之间的表示,在数学、物理、数字信号处理等领域有重要应用。我们常看到傅里叶级数、傅里叶变换、离散时间傅里叶变换、离散傅里叶变换等概念,本文对这些概念进行简单的梳理和介绍。1. 傅里叶级数考虑一个在区间 上可积的函数 ,其傅里叶级数 (Fourier Series - FS) 为其中说明 为了简化括号,我们把, 简写为,,下文以此类推。由欧...

weixin_39633954的博客 1万+

【数据集处理】DroneVehicle数据集处理方法

DroneVehicle数据集由无人机采集的56,878张图像组成,其中一半是RGB图像,其余为红外图像。作者为这五个类别制作了带有定向边界框的丰富注释。

qq_44102942的博客 5048

VMware虚拟机的安装教程

VMware 虚拟机的备份与恢复是保障数据安全和业务连续性的重要措施。综上所述,VMware 虚拟机的备份与恢复策略有多种选择,企业和用户可以根据实际需求和资源情况选择适合自己的方案,以确保虚拟机数据的安全和业务的连续性。

huanghm88的专栏 2975

小波变换网文精粹:小波变换教程(七)

小波变换网文精粹:小波变换教程(七) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 2516

SAP Joule for Developers 全景解析:从 ABAP 到 SAP Build 的一体化开发者 AI 能力

SAP Joule for Developers是一套内嵌于SAP开发工具的设计时AI能力,专为提升SAP开发者效率而设计。它支持自然语言生成应用与自动化流程,帮助理解优化代码,并嵌入单元测试和质量保障功能。Joule深度集成ABAP开发环境,同时服务于Java、JavaScript和低代码开发,覆盖CAP数据模型、UI5/Fiori生成、ABAP代码补全与重构等场景。通过斜杠命令和上下文操作,开发者可在不改变现有平台的前提下,显著提升开发效率和质量。典型案例包括快速构建CAP应用和ABAP Cloud迁移

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 498

初识小波变换(一)

小波变换          小波,一个神奇的波,可长可短可胖可瘦(伸缩平移),当去学习小波的时候,第一个首先要做的就是回顾傅立叶变换(又回来了,唉),因为他们都是频率变换的方法,而傅立叶变换是最入门的,也是最先了解的,通过傅立叶变换,了解缺点,改进,慢慢的就成了小波变换。主要的关键的方向是傅立叶变换、短时傅立叶变换,小波变换等,第二代小波的什么的就不说了,太多了没太多意义。当然,其中会看到很多的

海鱼专属博客 8558

【项目实战】SOVD协议(面向服务的车辆诊断协议)

此外,AUTOSAR组织将SOVD部分内容的软件实现定义在了R22-11及以上版本的AUTOSAR Adaptive规范中,还支持动态发现车内诊断功能、获取高性能计算机(HPC)的Log信息等新的诊断需求,更符合当前软件定义汽车概念下的行业趋势。而SOVDGateway作为边缘节点,也肩负着对SOVD Client进行认证以及权限控制的责任,从而保证车辆的信息安全。相较于传统的UDS(Unified Diagnostic Services)协议,SOVD不仅保留了传统的读写数据、例程控制、故障读取等功能,

奶爸的编程之路,也就一周冷个三天 1905

药物对接仿真软件:HADDOCK_(16).实践项目:抗体-抗原对接案例

定义分子结构文件。

kkchenjj的博客 580

小波变换网文精粹:小波变换教程(一)

小波变换网文精粹:小波变换教程(一) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 3365

STM32 TIM3硬件XOR+复位模式实现霍尔信号精准捕获

霍尔传感器是电机控制系统中获取转子位置的关键器件,其三路数字信号需通过高精度、低延迟的边沿检测机制转换为电角度信息。其核心原理在于利用定时器输入XOR逻辑合并多路信号,并结合从模式复位(Reset Mode)实现硬件级时间间隔测量——每次跳变强制计数器清零,使CNT值直接表征换相周期。该方案规避了软件轮询的不确定性,显著提升FOC控制的实时性与鲁棒性。典型应用场景包括BLDC/FOC电机驱动、机器人关节伺服及工业变频器设计,尤其适用于STM32F4系列等具备硬件XOR与从模式控制器的MCU平台。

weixin_28931507的博客 92

小波变换网文精粹:小波变换教程(十五)

小波变换网文精粹:小波变换教程(十五) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renf

深入理解数字信号处理 2497

Unreal5 从入门到精通之 如何实现 离线语音识别

本文介绍了如何使用离线语音识别插件 Offline Speech Recognition 进行本地语音转文本处理。该插件支持离线运行,用户可以通过下载并运行语言服务器(如 Vosk)来处理语音数据。文章详细说明了如何设置语言服务器、下载语言模型,并在虚幻引擎(UE)项目中配置麦克风和语音捕获。此外,还介绍了如何将 SoundWave 作为输入,以及如何通过节点将语音数据发送到语言服务器进行处理。最后,提供了相关文档链接以供进一步参考。

TxNet 906

Python爬虫实战:构建药监局药品批准信息本地查询系统

在医药信息化时代,药品批准信息的快速查询对于医药从业者、研究人员和普通消费者都具有重要意义。国家药品监督管理局(NMPA)提供了官方的药品查询系统,但有时我们需要建立本地数据库以便批量分析或离线查询。本文将详细介绍如何使用Python爬虫技术,结合最新的异步爬虫框架和技术栈,构建一个完整的药监局药品信息本地查询系统。本系统将实现以下功能:自动化爬取药监局官网的药品批准信息数据清洗和结构化存储建立本地查询接口数据定期更新机制pythonimport os"""药品类型枚举"""

2201_76125261的博客 729

小波变换网文精粹:小波变换教程(五)

小波变换网文精粹:小波变换教程(五) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 3445

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

小波变换网文精粹:小波变换教程(十九)

小波变换网文精粹:小波变换教程(十九) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 十九、小波级数:CWT的离散化(一)         如

深入理解数字信号处理 2840

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

小波变换网文精粹:小波变换教程(十六)

小波变换网文精粹:小波变换教程(十六) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renf

深入理解数字信号处理 2690

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

小波变换网文精粹:小波变换教程(六)

小波变换网文精粹:小波变换教程(六) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 2292

小波变换网文精粹:小波变换教程(十一)

小波变换网文精粹:小波变换教程(十一) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renf

深入理解数字信号处理 2713

小波变换网文精粹:小波变换教程(三)

小波变换网文精粹:小波变换教程(三) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 2773

小波变换网文精粹:小波变换教程(十七)

小波变换网文精粹:小波变换教程(十七) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 十七、CWT应用举例         下面给出的所有例子

深入理解数字信号处理 3111

小波变换网文精粹:小波变换教程(十二)

小波变换网文精粹:小波变换教程(十二) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renf

深入理解数字信号处理 2657

小波变换网文精粹:小波变换教程(十)

小波变换网文精粹:小波变换教程(十) 原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial 网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html 译文转自:http://blog.163.com/renfe

深入理解数字信号处理 2290
上一篇: 小波变换网文精粹:小波变换教程(三)
下一篇: 小波变换网文精粹:小波变换教程(五)
deepdsp
博客等级 码龄15年 859粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值