1 简介

本文给出了基于MATLAB的声音信号频谱分析仪的设计原理与实现方法.在实现方法上,结合软件的界面和具体的代码讲述了整个软件编码实现的原理.最后结合一个运行实例比较了时域分析与频域分析计算频率的异同之处,并分析了误差的原因.​

2 部分代码

function varargout = yonghujiemain(varargin)% YONGHUJIEMAIN M-file for yonghujiemain.fig%      YONGHUJIEMAIN, by itself, creates a new YONGHUJIEMAIN or raises the existing%      singleton*.%%      H = YONGHUJIEMAIN returns the handle to a new YONGHUJIEMAIN or the handle to%      the existing singleton*.%%      YONGHUJIEMAIN('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in YONGHUJIEMAIN.M with the given input arguments.%%      YONGHUJIEMAIN('Property','Value',...) creates a new YONGHUJIEMAIN or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before yonghujiemain_OpeningFunction gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to yonghujiemain_OpeningFcn via varargin.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help yonghujiemain% Last Modified by GUIDE v2.5 03-Jun-2011 16:50:18% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @yonghujiemain_OpeningFcn, ...                   'gui_OutputFcn',  @yonghujiemain_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin && ischar(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before yonghujiemain is made visible.function yonghujiemain_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   command line arguments to yonghujiemain (see VARARGIN)% Choose default command line output for yonghujiemainhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes yonghujiemain wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = yonghujiemain_OutputFcn(hObject, eventdata, handles) % varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in turn_down.function turn_down_Callback(hObject, eventdata, handles)% hObject    handle to turn_down (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in turn_up.function turn_up_Callback(hObject, eventdata, handles)% hObject    handle to turn_up (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on selection change in popupmenu1.function popupmenu1_Callback(hObject, eventdata, handles)% hObject    handle to popupmenu1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array%        contents{get(hObject,'Value')} returns selected item from popupmenu1% --- Executes during object creation, after setting all properties.function popupmenu1_CreateFcn(hObject, eventdata, handles)% hObject    handle to popupmenu1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))    set(hObject,'BackgroundColor','white');end% --- Executes on button press in speed_up.function speed_up_Callback(hObject, eventdata, handles)% hObject    handle to speed_up (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on button press in slow_down.function slow_down_Callback(hObject, eventdata, handles)% hObject    handle to slow_down (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% --- Executes on selection change in popupmenu2.function popupmenu2_Callback(hObject, eventdata, handles)% hObject    handle to popupmenu2 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns popupmenu2 contents as cell array%        contents{get(hObject,'Value')} returns selected item from popupmenu2% --- Executes during object creation, after setting all properties.function popupmenu2_CreateFcn(hObject, eventdata, handles)% hObject    handle to popupmenu2 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.%       See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))    set(hObject,'BackgroundColor','white');end% --- Executes on button press in insert.function insert_Callback(hObject, eventdata, handles)% hObject    handle to insert (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)global  fn x Fs bits;

3 仿真结果

4 参考文献

[1]朱振菊, 高红梅. 基于MATLAB的音频信号处理系统[J]. 读写算(教育教学研究), 2015, 000(023):491-491.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

5 代码下载

【信号处理】音频信号处理平台含Matlab源码相关推荐

  1. 【语音处理】音频信号提取分析含Matlab源码

    1 简介 MATLAB是十分强大的用于数据分析和处理的工程实用软件,利用其来进行语音信号的分析,处理和可视化十分便捷.文中介绍了在 MATLAB环境中如何驱动声卡采集语音信号和语音信号采集后的文档处理 ...

  2. 【语音隐写】基于matlab小波变换量化音频数字水印【含Matlab源码 351期】

    ⛄一.小波变换量化音频数字水印简介 随着计算机和网络的飞速发展,人们的许多创作和成果都以数字形式进行存储和发布.然而,数字作品极易被非法拷贝.伪造和窜改,使得很多版权所有者不愿意利用网络公开其作品,从 ...

  3. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  4. 【数字信号】基于matlab GUI多音双频(DTMF)拨号音频解码仿真系统【含Matlab源码 1084期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号]基于matlab GUI多音双频(DTMF)拨号音频解码仿真系统[含Matlab源码 1084期] 点击上面蓝色字体,直接付费 ...

  5. 【Matlab语音隐写】DWT音频数字水印【含GUI源码 712期】

    一.代码运行视频(哔哩哔哩) [Matlab语音隐写]DWT音频数字水印[含GUI源码 712期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  6. 【音乐】基于matlab演奏《过火》【含Matlab源码 1875期】

    一.获取代码方式 获取代码方式1: [音乐]基于matlab演奏<过火>[含Matlab源码 1875期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代 ...

  7. 【音乐】基于matlab演奏《青花瓷》【含Matlab源码 1873期】

    一.获取代码方式 获取代码方式1: [音乐]基于matlab演奏<青花瓷>[含Matlab源码 1873期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此 ...

  8. 【雷达干扰】基于matlab速度聚类欺骗式干扰仿真【含Matlab源码 2221期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达干扰]基于matlab速度聚类欺骗式干扰仿真[含Matlab源码 2221期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...

  9. 【雷达通信】基于matlab雷达探测威力仿真【含Matlab源码 1974期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab雷达探测威力仿真[含Matlab源码 1974期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付 ...

  10. 【编码译码】基于matlab LDPC编码和解码【含Matlab源码 2560期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [编码译码]基于matlab LDPC编码和解码[含Matlab源码 2560期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...

最新文章

  1. java培训教程分享:Java中怎样将数据对象序列化和反序列化?
  2. GDCM:gdcm::StringFilter的测试程序
  3. linux搜索pdf文件,桌面应用|如何使用 pdfgrep 从终端搜索 PDF 文件
  4. golang Println、Printf、Sprintf的区别
  5. js 浅拷贝直接赋值_JS中的赋值、浅拷贝与深拷贝
  6. python之django中models学习总结
  7. cytoscape使用方法_关于这种“网络模块”和“模块饼图”的可视化方法
  8. SPSS教程——游程检验使用方法,如何验证数据的随机性
  9. MyBatis源码本地编译
  10. css 字体压缩 fonttools
  11. 单网卡、单IP、双网关设置内外网同时访问
  12. 马云在《赢在中国》对创业者的经典点评~
  13. 什么是Ruby之道?
  14. 计算机硬盘图标ico,LaCie 硬盘图标
  15. 7步走!做出高质量的数据分析项目
  16. 遭遇Trojan.PSW.OnlineGames、Trojan.HiJack.a、Trojan.PSW.ZhuXian.b等
  17. JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)
  18. iphone屏幕上的圆圈怎么设置_苹果手机上的小圆圈在哪设置【方法介绍】
  19. 此计算机未连接到网络.单击以连接,此计算机无法连接到家庭组win7
  20. Jetson Orin 平台GMSL camera 96712调试手册重点

热门文章

  1. python监听键盘事件pyhook用法_python 监听键盘事件pyHook
  2. 3dmax2017卸载/安装失败/如何彻底卸载清除干净3dmax2017注册表和文件的方法
  3. vue——后台管理系统框架
  4. vue后台管理框架(iview + vue)
  5. matlab 分组求平均值,MATLAB:取一个列表中两个数字的平均值?(MATLAB: taking the average of two numbers in a list?)...
  6. redis过期策略及持久化机制
  7. 机器学习 --- 概率图 - 概述
  8. 常见BSOD蓝屏原因分析
  9. 深度学习CUDA最新最佳安装教程
  10. 【数仓】大数据领域建模综述-《大数据之路》读书笔记