IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 2021.9.30-背景噪声的研究 -> 正文阅读

[数据结构与算法]2021.9.30-背景噪声的研究

背景噪声的研究

1. 声音如何产生?
声音是由物体振动产生声波,通过介质(空气或固体、液体)传播,并能被人的听觉器官所感知的波动现象。
最初发出振动的物体叫声源。声音以波的形式振动传播,所以声音是一种波。
2.信号处理的意义?
声音的本质是压力脉动,所以无论是仿真还是实验,直接测量得到的都只是每个时刻的压力值。尽管我们也可以通过时域上的压力 信号的大小定性的判断压力脉动的强弱,但是压力的时间信号太过杂乱无章,我们通常需要把时域的信号转换为频域,以便更清晰的辨识信号的特征。
3. 时域与频域?
时域:描述信号随时间变化的坐标系。
频域:描述信号在频率特性时用到的一种坐标系,其横坐标就是频率。
对于特定几何尺度的物体,气流在一秒钟扫过它的次数就是频率,所以速度越快,意味着产生的信号频率越高;而频率与几何尺度则往往成反比的关系,即尺寸越小,产生的频率越高。相对于时域,频域的信号更容易和几何结构以及流场建立相互对应的关系。
4.如何转换?
傅里叶原理:任何连续测量的时域信号,都可以表示为不同频率的正弦波信号的无限叠加。傅里叶变换,则是把这些正弦波信号复原并换算到频域空间的积分变换方法。

对于离散时间序号信号 x ( j ) , j = 1 , 2 , 3 , … , N x(j),j=1, 2, 3, \dots, N x(j),j=1,2,3,,N,其傅里叶变换及其逆变换可以表示为:
Y ( K ) = ∑ j = 1 N x ( j ) W N ( j ? 1 ) ( k ? 1 ) Y(K) = \sum_{j=1}^{N}x(j)W_N^{(j-1)(k-1)} Y(K)=j=1N?x(j)WN(j?1)(k?1)?
x ( j ) = 1 n ∑ k = 1 N Y ( k ) W N ? ( j ? 1 ) ( k ? 1 ) x(j) = \frac{1}{n}\sum_{k=1}^NY(k)W_N^{-(j-1)(k-1)} x(j)=n1?k=1N?Y(k)WN?(j?1)(k?1)?
其中, W N = e ( ? 2 π i ) / N W_N=e^{(-2\pi i)/N} WN?=e(?2πi)/N
离散傅里叶变换也是从时域到频域的转换,只不过它是把一组复数 x ( j ) x(j) x(j),转换成了另一组复数 Y ( K ) Y(K) Y(K),就可以愉快的实现对离散数据的变换。
离散傅里叶变换好是好,只不过如果采样的数据量大了,计算量也会急剧增加。1965年,Cooley和Tukey提出了离散傅里叶变换(DFT)的快速算法,即快速傅里叶变换。
5.频谱
我们知道频谱的横坐标是频率,纵坐标表示该频率下的振幅,对于声音信号来说也就是压力脉动的强弱。
6. 在matlab中实现傅里叶变换

Ts = 1/50;
t = 0:Ts:10-Ts;
x = sin(2*pi*15*t) + sin(2*pi*20*t);
plot(t,x)% 横坐标为时间,纵坐标为值
xlabel('Time(seconds)')
ylabel('Amplitude')
y = fft(x);
fs = 1/Ts;
f = (0:length(y)-1)*fs/length(y);%设置傅里叶变换y为纵轴,f为横轴
plot(f,abs(y))%最后生成频域图
xlabel('Frequency(Hz)')
ylabel('Magnitude')
title('Magnitude')
%fftshift 函数对变换执行以零为中心的循环平移
n = length(x);
fshift = (-n/2:n/2-1)*(fs/n);
yshift = fftshift(y);
plot(fshift,abs(yshift))
xlabel('Frequency (Hz)')
ylabel('Magnitude')
rng('default')
xnoise = x + 2.5*randn(size(t));%在x中混入高斯噪声
%绘画含噪声的图像
ynoise = fft(xnoise);
ynoiseshift = fftshift(ynoise);
power = abs(ynoiseshift).^2/n;
plot(fshift,power)
title('Power')
xlabel('Frequency (Hz)')
ylabel('Power')
%计算快速傅里叶
whaleFile = 'bluewhale.au';
[x,fs] = audioread(whaleFile);
whaleMoan = x(2.45e4:3.10e4);
t = 10*(0:1/fs:(length(whaleMoan)-1)/fs);

plot(t,whaleMoan)
xlabel('Time (seconds)')
ylabel('Amplitude')
xlim([0 t(end)])
m = length(whaleMoan); 
n = pow2(nextpow2(m));
y = fft(whaleMoan,n); 
f = (0:n-1)*(fs/n)/10; % frequency vector
power = abs(y).^2/n;   % power spectrum      
plot(f(1:floor(n/2)),power(1:floor(n/2)))
xlabel('Frequency (Hz)')
ylabel('Power')
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 12:11:23  更:2021-09-30 12:13:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 12:54:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码