
信号matlab
只是有点小怂
本职工作是电子工程师,其他都是业余爱好
展开
-
简单分析FFT坐标轴的生成方式和幅值大小
先看代码和图clc,clear,close allFs = 256; % 采样率 256HzN = 256; % 采样点数 256点% 频率分辨率 delta_f = Fs/N = 1HzT = 1; % % 采样时间 T = N / Fs = 1st = linspace(0,T,N); % 第二种坐标生成方式,注意时间从0开始,所以最后一项要减去一个刻度t1 = 0:1/...原创 2020-04-19 15:02:04 · 2098 阅读 · 0 评论 -
matlab简单分析离散小波变换
华中科技大学《数字信号分析理论实践》 学习总结记录离散小波变换进行多尺度分解离散二进小波变化进行小波分解h1 = [-0.014434 0.050359 0.017710 -0.097013 -0.020592 0.315146 0.521421 0.315146 -0.020592 -0.097013 0.017710 0.050359 -0.014434];g1 = [-...原创 2020-04-08 12:34:25 · 5295 阅读 · 0 评论 -
matlab小波分析
华中科技大学《数字信号分析理论实践》 学习总结记录基本概念原创 2020-04-07 22:05:43 · 6574 阅读 · 0 评论 -
matlab简单分析短时傅里叶变换STFT
华中科技大学《数字信号分析理论实践》 学习总结记录短时傅里叶变换进行时频分析Fs = 5120.0;dt = 1/Fs;N = 32768;df = 500.0/N;T = dt * N;t = linspace(0,T,N);for i = 1:8192 x(i) = sin(2*pi*200*i*dt); x(i+8192) = sin(2*pi*400*i*dt...原创 2020-04-07 21:18:54 · 5394 阅读 · 2 评论 -
matlab简单分析信号调制解调
信号调制和解调华中科技大学《数字信号分析理论实践》滤波器 学习总结记录幅值调制和解调 AMammod amdemodFs = 44100;Fc = 400;dt = 1.0/Fs;T = 1;N = T/dt;t = linspace(0,T,N);x1 = sin(2*pi*10*t)+1.3;subplot(311)plot(t,x1,'linewid...原创 2020-04-07 12:22:40 · 8441 阅读 · 0 评论 -
matlab简单分析其他类型滤波器(陷波尖峰梳状半带希尔伯特)
其他类型滤波器华中科技大学《数字信号分析理论实践》滤波器 学习总结记录陷波滤波器 iirnotchFs = 200;dt = 1.0/Fs;T = 2;N = T/dt;t = linspace(0,T,N);x1 = sin(2*pi*5*t)+sin(2*pi*50*t);subplot(411);plot(t,x1);P = fft(x1,N);Pyy =...原创 2020-04-07 11:53:36 · 3736 阅读 · 1 评论 -
matlab简单分析模拟滤波器 IIR
IIR 滤波器华中科技大学《数字信号分析理论实践》第六单元 IIR滤波器 学习总结记录IIR滤波器一般先借助模拟滤波器进行设计,然后再将模拟滤波器转为数字滤波器脉冲响应不变法 & 模拟 →\rightarrow→ 数字的双线性变换法FC = 1;FS = 1;N = 2;Wn = FC;[b,a] = butter(N,Wn,'s');[H,f] = freq...原创 2020-04-07 10:20:33 · 1058 阅读 · 1 评论 -
matlab简单分析数字滤波器FIR
时域FIR滤波器华中科技大学《数字信号分析理论实践》第六单元 FIR滤波器 学习总结记录FIR 滤波器脉冲响应函数设计法MATLAB 中 FIR 滤波器设计函数 fir2()f = [0 0.2 0.25 1]; % 滤波器频率m = [1 1 0.2 0]; % 滤波器幅值% 归一化频率b = fir2(20,f,m); % 20个点[h,w] = freqz(b,1,...原创 2020-04-06 23:09:42 · 1654 阅读 · 1 评论 -
matlab简单分析频域滤波和时域滤波
华中科技大学《数字信号分析理论实践》第六单元 信号数字滤波的概念 学习总结记录频域滤波对信号进行低通滤波的一种快速方法,低频信号幅度设为1,负频率镜像过去,把虚部设为0Fs = 2048;dt = 1.0/Fs;T = 1;N = T/dt;t = linspace(0,T,N);x1 = sin(2*pi*50*t)+sin(2*pi*300*t)+sin(2*pi*...原创 2020-04-06 19:42:33 · 12816 阅读 · 1 评论 -
matlab设计一个简单图像直方图均衡的GUI程序
效果,感觉画丑了我女神命令行输入 guide 创建空白 GUI 程序, 拖动控件,修改按钮 String按钮1用来选择图片,回调函数下粘贴程序function pushbutton1_Callback(hObject, eventdata, handles)global I;[FileName,PathName] = uigetfile('*.jpg','Select Jpg F...原创 2020-04-06 11:34:16 · 2661 阅读 · 0 评论 -
利用matlab函数xcorr对信号进行相关分析(包含为何加上无偏估计参数)
信号的时差域相关分析华中科技大学《数字信号分析理论实践》第五单元 信号的时差域分析 学习总结记录信号相关函数的概念信号相关分析 (Cross-correlation) 是一种分析两个信号之间或一个信号自身的时间依存关系和相似程度的方法ρxy(τ)=∫−∞+∞x(t)y(t−τ)dt[∫−∞+∞x2(t)dt∫−∞+∞y2(t)dt]1/2\rho_{xy}(\tau)=\frac{...原创 2020-04-04 13:42:58 · 20367 阅读 · 2 评论 -
matlab创建一个简易的MP3播放器GUI程序
命令行输入 guide 创建空白 GUI 程序拖动 Active X 控件,选择 Windows Media Player摆放两个按钮和可编辑文本,修改 StringSong 的回调函数下粘贴代码global abc;[FileName,PathName] = uigetfile('*.mp3','Select mp3 File');abc = fullfile...原创 2020-04-03 12:17:46 · 4290 阅读 · 1 评论 -
不显示负频率的部分,坐标轴转换为频率,幅值量纲还原改善频谱图以及功率谱和对数功率谱
先直接调用FFT函数实现频谱分析 y = fft(x,N);Fs = 5120;dt = 1.0/Fs;N = 1024;T = dt * N;t = linspace(0,T,N);x = 10*sin(2*pi*100*t)+5*sin(2*pi*300*t)+2*sin(2*pi*700*t);plot(t,x);y = fft(x,N);a = real(y);b ...原创 2020-03-31 23:06:26 · 1371 阅读 · 0 评论 -
五分钟写出一个可以滑动条拖动的矩形脉冲合成的MatlabGUI程序
命令行输入 GUIDE 创建空白GUI程序拖动控件,右键察看滑动条的回调函数,粘贴如下代码滑动条参数设置function slider1_Callback(hObject, eventdata, handles)N = 1024;T = 2;t = linspace(0,T,N);F = get(handles.slider1,'Value');n = floor(F);...原创 2020-03-31 22:19:16 · 1654 阅读 · 1 评论 -
matlab2018安装摄像头驱动以及如何调用摄像头
调用摄像头做小实验报错,输入 imaqhwinfo 产看配置命令行输入 supportPackageInstaller 官网下载下载速度很慢很慢很慢到这里就可以慢慢等他自己装好,以下为尝试下载得慢但还是有痕迹,关键是安装离线包的方法网上从文件安装都是老版本的matlab,根本没有从文件安装的选项,只能想别的办法README文档,看到了希望,在最新版本的安装包,看见了这...原创 2020-03-31 14:09:10 · 3643 阅读 · 6 评论 -
matlab的GUI实验——实现简单信号发生器
命令行输入 Guide 创建空白的 GUI 项目摆好控件,修改 Tag 名称和字体实现滑动条和显示框的联动,滑动条拖动到哪,显示框显示多少数字,显示框输入数字同样可以更改函数的值(滑动条有个范围 Min 到 Max,显示框输入的值要在这个范围内)% 粘贴在滑动条回调函数下的代码function fre_sliser_Callback(hObject)v1 = get(handles...原创 2020-03-31 09:52:51 · 6989 阅读 · 7 评论 -
错误使用sym MEX文件 'D:\matlab\toolbox\maple\maplemex.mexw64' 无效: 缺少依赖共享库 的解决办法
使用 sym 命令报错这个dll文件根本百度不到,在matlab论坛找答案没有结果,看下文件夹名称应该是Maple出了问题,在 Maple 论坛里找到了答案 https://faq.maplesoft.com/hc/en-us/articles/360033606171-Why-is-Matlab-throwing-an-error-when-using-the-Maple-Matlab-C...原创 2020-03-30 11:03:35 · 8323 阅读 · 6 评论 -
简单Matlab的Gui设计——电子琴
输入guide,拖动控件修改前景色和背景色(黑底白字)将代码拷贝到对应按钮的回调函数Fs = 44100;dt = 1.0/Fs;T = 1;N = T/dt;t = linspace(0,T,N);x = 0.3*sin(2*pi*247*t); % 修改频率值即可plot(t,x);axis([0,0.01,-0.5,0.5]);sound(x,Fs)% 修改...原创 2020-03-27 22:47:43 · 4539 阅读 · 0 评论 -
未定义函数或变量 'wavplay'。原因:2014a已经移除函数
官网找到说明,已经移除该函数 https://ww2.mathworks.cn/matlabcentral/fileexchange/71798-wavplay?s_tid=srchtitle用 sound 可以听到声音应该可以下载文件继续使用这一函数...原创 2020-03-27 22:01:04 · 5716 阅读 · 0 评论 -
图解DFT频谱分析及产生的问题(频谱混叠,频谱泄露,栅栏效应)
具体步骤频域和时域对应关系频谱混叠 频谱泄露 栅栏效应混叠现象频谱泄露栅栏效应结合matlab对应分析PDF版本笔记参考南京信息工程大学的《数字信号处理》,仅作学习总结...原创 2020-03-26 18:55:07 · 11418 阅读 · 3 评论 -
不同抽样间隔T对正弦信号进行抽样
1,2,3代表周期数目N = 25;% 序列周期为25T1 = 0.08;T2 = 0.16;T3 = 0.24;% t = nTn = 0:1:3*N-1;x1 = cos(pi*T1*n);x2 = cos(pi*T2*n);x3 = cos(pi*T3*n);%plot(t,x);subplot(311);plot(n,x1);hold onstem(n,x...原创 2020-03-21 22:41:46 · 2212 阅读 · 2 评论 -
序列的振幅调制
y[n]=A(1+mxL[n])xH[n]y[n]=A(1+mx_L[n])x_H[n]y[n]=A(1+mxL[n])xH[n]n = 0:200;m = 0.4;fH = 0.1;fL = 0.01;xH = sin(2*pi*fH*n);xL = sin(2*pi*fL*n);y = (1+m*xL).*xH;stem(n,y);1000点原创 2020-03-21 20:19:00 · 386 阅读 · 0 评论 -
fliplr函数对时间序列进行反转
代码n = -2:5;x = exp(-0.5*n);x1 = fliplr(x);n1 = -fliplr(n);subplot(211)stem(n,x,'filled','r');title('x(n');subplot(212)stem(n1,x1,'filled','b');title('x(-n)');figurestem(n,x,'filled','r')...原创 2020-03-21 20:09:06 · 1240 阅读 · 0 评论 -
freqz()计算M点滑动平均滤波器的频率响应
函数说明(建议参考官方文档)freqz(h,w)可以用来求指定的单位脉冲响应向量 h 在一组给定频率点 w 上的频率响应值由这些频率响应值,可以用函数 real 和 imag 计算实部和虚部,函数 abs 和 angle 计算幅度和相位M 点滑动平均滤波器H(ejω)=1Msin(ωM/2)sin(ω/2)e−jω(M−1)/2ϕ(ω)=−ω(M−1)/2H(e^{j\omega})=...原创 2020-03-20 22:11:39 · 4787 阅读 · 2 评论 -
利用filter()求解差分方程
函数说明(建议参考官方文档)利用matlab求解差分方程的解,调用函数filtery = filter(p,d,x)[y,sf] = filter(p,d,x,si)第一种形式假定在零初始条件下,用系数向量p和d描述的系统处理输入向量x,从而得到输出向量y第二种形式允许在向量si中包含内部向量si[n]的非零初始条件y[n]+0.6y[n−1]−0.5y[n−2]−0.6y[...原创 2020-03-20 19:55:01 · 6864 阅读 · 2 评论