![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术
流年划破容颜88
这个作者很懒,什么都没留下…
展开
-
C语言和MATLAB分别实现FFT计算并对比
FFT(FastFourierTransform,快速傅里叶变换)算法是离散傅里叶变换的快速算法,FFT算法可以分为按时间抽取和按频率抽取,通过FFT可以将一个信号从时域变换到频域。一、FFT和IFFT的C语言编程(1)对于快速傅里叶变换FFT,第一个要解决的问题就是码位倒序。码位倒序首先要解决两个问题:a、将t位二进制数倒序 b、将倒序后的两个存储单元进行交换如果输入...原创 2019-03-01 13:57:54 · 9047 阅读 · 10 评论 -
C语言产生正弦数据序列并写入文件中
当听到要把C语言产生正弦数据序列并写入文件中感觉有点棘手,但是实际编程却不是很难,我们可以把它分成两部实现。第一步先产生正弦数据序列,第二部把产生的正弦数据序列写入文件中。一、产生正弦数据序列我们可以尝试产生一个简单的正弦数据序列,比如,产生周期为64个点的正弦数据序列。#include<stdio.h>#include <math.h>int main ...原创 2019-03-01 16:34:18 · 2833 阅读 · 2 评论 -
C语言将正弦数据序列写成WAV文件
一、WAV文件概述WAVE文件是计算机领域最常用的数字化声音文件格式之一,它是微软专门为Windows系统定义的波形文件格式(Waveform Audio),由于其扩展名为"*.wav"。WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为“WAV”,数据本身的格式为PCM或压缩型。WAV文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准,它采用RIFF文件格式结构,...原创 2019-03-01 16:34:37 · 1151 阅读 · 1 评论 -
C语言产生随机数并写入文件中
在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 和srand()函数来生成随机数,如果要保证每次产生的随机数不重复,需要在每次产生随机序列前,先指定不同的种子,这样计算出来的随机序列就不会完全相同了。可以在调用rand()函数之前调用srand( (unsigned)time( NULL ) ),这样以time函数值(即当前时间)作为种子数,因为...原创 2019-03-01 16:33:01 · 17449 阅读 · 3 评论 -
基于谱减法的音频信号噪声抑制的Matlab和C语言分别实现并对比
一、语音和噪声1、冲激噪声冲激噪声的时域波形是类似于冲激函数那样的窄脉冲,常见的消除冲激噪声的方式有两种:(1)对带噪语音信号的幅值求均值,将该均值作为判断的标准,超过该标准的视作噪声,在时域将其滤除(2)当噪声不太密集的时候,可以通过某些点内插的方法避开或者平滑掉冲激点,从而从语音信号中去掉冲击噪声。2、周期噪声常见的噪声是50Hz的交流电产生的周期噪声。在频谱图上展现为...原创 2019-03-18 17:03:12 · 4473 阅读 · 1 评论 -
基于谱减法的音频信号噪声抑制算法实现理论知识学习总结
一、内容1. 音频信号噪声抑制原理2. 谱减法的原理和相关算法3. WAV音频文件的格式二、音频信号噪声抑制原理 2.1语音和噪声1、冲激噪声冲激噪声的时域波形是类似于冲激函数那样的窄脉冲,常见的消除冲激噪声的方式有两种:(1)对带噪语音信号的幅值求均值,将该均值作为判断的标准,超过该标准的视作噪声,在时域将其滤除。(2)当噪声不太密集的时候,可以通过某...原创 2019-03-24 16:05:36 · 5688 阅读 · 0 评论 -
C语言使用正弦数据序列产生WAV文件并使用谱减法降噪
谱减法技术大多数都是在频域上进行, 也有在时域的。 由于在谱减法处理过程中,是以无声期间统计平均的噪声方差代替当前分析帧各频率点的噪声频率分量,而噪声频谱具有高斯分布,即其幅度随机变化范围很宽,因此相减时,若该帧某频率点噪声分量较大, 就会有很大一部分保留, 具体来讲, 由谱减所产生的噪声称为残余噪声, 与语音信号不相关, 是由具有随机频率和幅度的窄带信号所组成。在频谱上呈现随机出现的尖峰, 便产...原创 2019-04-15 21:20:16 · 1521 阅读 · 2 评论