资源简介
本资源内包含一个matlab源代码和一个纯净的音乐信号,通过对音乐信号加高频余弦噪声,得到掺杂高频余弦噪声的音乐信号;后通过设计巴特沃斯低通滤波器以及频域分析,实现高频噪声的去除,重新得到纯净的音乐信号。
代码片段和文件信息
clear all;close all;clc
%读入音乐文件y;采样频率为fs
[yfs]=audioread(‘Clean.wav‘);
x=y(:1)‘;
%sound(xfs);%播放音乐文件
N=length(x);%音乐文件的采样点数总和(采样长度)
fft_x=fft(xN);%音乐信号的傅里叶变换
w=fs/N*(0:N-1);%频谱空间的谱线间隔矩阵,即采样频率间隔,fs为歌曲的采样频率,它最高
figure(1)subplot(211);plot(x)title(‘音乐信号波形‘);
subplot(212)plot(wfft_x)title(‘音乐信号频谱‘);
%加入余弦信号噪声
n=0:1/2048:1/2048*(N-1);%产生余弦信号的自变量矩阵
x1=0.1*cos(10000*pi*n);%高频余弦信号,频率可以更改
fft_x1=fft(x1N);%余弦信号的傅里叶变换
figure(2)subplot(121)plot(nx1);title(‘余弦噪声波形‘);xlabel(‘n‘);%余弦频率太高,图上显示是一片蓝,这是因为图上分辨率达不到余弦信号的频率,若想看到余弦信号,减小余弦信号的频率即可
subplot(122)plot(wabs(fft_x1));title(‘余弦噪声频谱‘);xlabel(‘w‘);
%将音乐信号与余弦信号相加
y1=x+x1;
fft_y1=fft(y1N);%叠加噪声音乐信号的频谱
%播放
sound(y1fs);
figure(3)subplot(121)plot(y1)title(‘叠加噪声后音乐信号‘)%显示叠加噪声后音乐信号
subplot(122)plot(abs(fft_y1))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 50044 2018-11-15 13:05 Clean.wav
文件 1746 2018-11-21 10:25 Music_Filtering.m
----------- --------- ---------- ----- ----
51790 2
- 上一篇:基于MATLAB的pegasis算法源码
- 下一篇:罗华飞matlab串口通信助手
相关资源
- MATLAB数字信号处理85个实用案例精讲入
- 基于倒谱图判断浊音的基音周期MATL
- 数字信号处理及MATLAB实现__第二版__学
- IIR数字滤波器设计实验报告
- MATLAB信号处理EEMD工具箱
- 傅里叶变化频谱图及频域滤波
- MATLAB实现k-svd和mod信号处理
- 心电信号处理方法
- 数字信号处理实验指导书MAtlab版-数字
- 基于MATLAB的脑电信号处理.pdf
- 北邮信通院数字信号处理课件DSP合集
- 数字信号处理及其Matlab的实现
- 音乐检索系统MATLAB程序.zip
- 阵列信号处理中的基于matlab的MUSIC
- 数字信号处理及其MATLAB实现
- 随机信号处理功率谱估计MATLAB程序及
- 数字信号处理(MATLAB版)235940
- 数字信号处理MATLAB版第三版
- 数字信号处理及其Matlab实现 陈怀琛
- 基于MATLAB的系统分析与设计——信号
- 语音信号子带编码matlab程序subband_co
- [数字信号处理及其MATLAB实现——慕课
- 小波与傅里叶分析基础扫描版PDF
- 信号分析与处理——MATLAB语言及应用
- MATLAB在数字信号处理中的应用清华大
- 数字信号处理:使用MATLAB.pdf
- 信号处理滤波器设计——基于MATLAB和
- 数字信号处理原理及其MATLAB实现
- MATLAB数字信号处理仿真系统GUI.zip
- 雷达信号处理仿真
评论
共有 条评论