matlab数字信号处理
hg2016
这个作者很懒,什么都没留下…
展开
-
张雪英部分论文集
张雪英部分论文集原创 2022-08-11 13:07:44 · 728 阅读 · 0 评论 -
DCT变换
DCT变换原创 2022-08-07 13:44:37 · 247 阅读 · 0 评论 -
离散信源最大熵定理的Matlab实现
离散信源最大熵定理原创 2022-08-05 16:20:35 · 835 阅读 · 0 评论 -
matlab 离散无记忆信源建模
离散无记忆信源建模原创 2022-08-04 15:26:03 · 884 阅读 · 0 评论 -
matlab 基音周期估计后处理
基音周期估计后处理原创 2022-07-26 17:23:59 · 286 阅读 · 0 评论 -
matlab 短时自相关实现
短时自相关原创 2022-07-25 19:59:55 · 1096 阅读 · 0 评论 -
matlab 画短时平均幅度谱
短时平均幅度原创 2022-07-25 15:34:54 · 1436 阅读 · 0 评论 -
matlab 画短时能量图
短时能量原创 2022-07-25 15:25:12 · 1224 阅读 · 0 评论 -
matlab 激励模型 三角波频谱
三角波频谱原创 2022-07-25 09:20:38 · 2224 阅读 · 0 评论 -
语谱图怎么看
现代语音信号处理之语谱图转载 2022-07-04 20:36:54 · 852 阅读 · 0 评论 -
JPEG2000-Matlab源码实现
JPEG2000-Matlab源码实现转载 2022-07-04 19:58:28 · 1506 阅读 · 5 评论 -
matlab 实现语音信号重采样和归一化,并播放比对效果
matlab 实现语音信号重采样和归一化,并播放比对效果原创 2022-07-01 18:43:48 · 4795 阅读 · 0 评论 -
matlab 使用 resample 完成重采样
matlab 使用 resample 完成重采样原创 2022-07-01 18:13:11 · 3121 阅读 · 1 评论 -
matlab 使用 audioread 、 sound 读取和播放 wav 文件
matlab 使用 audioread 、 sound 读取和播放 wav 文件原创 2022-07-01 16:56:21 · 3486 阅读 · 0 评论 -
matlab 使用 audiorecorder、recordblocking录制声音,play 播放声音,audiowrite 保存声音
audiorecorder录制声音play播放audiowrite保存声音原创 2022-07-01 16:44:26 · 8267 阅读 · 4 评论 -
matlab 实现中值滤波
实现中值滤波器原创 2022-06-21 14:19:06 · 5028 阅读 · 0 评论 -
matlab 实现低通巴特沃斯滤波器、切比雪夫1型/2型滤波器 和 椭圆滤波器
matlab 实现巴特沃斯滤波器、切比雪夫1型/2型滤波器 和 椭圆滤波器原创 2022-06-05 11:26:36 · 3224 阅读 · 0 评论 -
matlab 对矩形脉冲进行低通滤波
对矩形脉冲信号进行低通滤波原创 2022-06-01 17:18:50 · 2814 阅读 · 0 评论 -
matlab 模拟吉布斯效应
模拟矩形脉冲信号的吉布斯效应原创 2022-06-01 12:21:38 · 2891 阅读 · 3 评论 -
matlab 求全波整流信号的傅里叶系数
clear all;clf;%一定要加这行代码,否则可能你之前的代码能运行生成正确图形,改错之后,运行结果还是之前的图形,每次运行前必须先做清理syms t;T0 = 1;N=6;%谐波次数,可以任意指定m = heaviside(t) - heaviside(t -T0);x = abs(cos(pi * t)) *m;subplot(221);fplot(m*x);[X1, w1] = fourierseries(x, T0, N);X = [conj(fliplr(X1(2:原创 2022-05-31 20:01:17 · 1653 阅读 · 0 评论 -
matlab 求矩形脉冲的傅里叶系数
本节在 matlab heaviside函数生成矩形脉冲 和 matlab 编写计算傅里叶级数函数 的基础上,求一个矩形脉冲序列的傅里叶级数。这里只求了一个周期矩形脉冲的傅里叶级数,因为我不知道怎么用一个matlab函数表示整个矩形脉冲序列。clear all;%一定要加这行代码,否则可能你之前的代码能运行生成正确图形,改错之后,运行结果还是之前的图形,每次运行前必须先做清理clf;syms t;T = 1;%矩形脉冲的周期N = 5;%每个for循环生成的矩形脉冲数%生成[T-1/4*T,原创 2022-05-31 19:00:34 · 3269 阅读 · 1 评论 -
matlab heaviside函数生成矩形脉冲
意思就是下面这张图其“微分”是狄拉克 δ 函数,事实上,x=0 的值在函数应用上并不重要,可以任意取。在matlab中,x=0取值为1/2。syms xfplot(heaviside(x));之所以看到在0的地方有竖线,就是因为fplot函数把断开部分连接起来了。1. 产生一个 u(t-1) 的信号2. 产生一个矩形脉冲clear all;syms t;x = heaviside(t + 1/4) - heaviside(t - 1/4);fplot(x);3. 产生一个.原创 2022-05-31 16:16:15 · 11531 阅读 · 0 评论 -
matlab 编写计算傅里叶系数函数
1. 编写计算傅里叶级数系数的函数%计算函数 x 的 N 次谐波的傅里叶级数系数,函数的周期为 T0%数组 X 存放的是傅里叶系数,也就是幅值%数组 w 存放的是频率function [X, w]=fourierseries(x, T0, N) syms t;%因为传进来的x函数中包含符号 t,所以函数内部也要定义符号变量 t,否则会报错 for k = 1: N, X(k)=int(x*exp(-j*2*pi*(k-1)*t/T0), t, 0, T0)/T0;原创 2022-05-30 18:54:34 · 10387 阅读 · 5 评论 -
matlab dsolve函数构造微分方程
构造一个微分方程 y(t)=2∗e−5∗ty(t)=2*e^{-5*t}y(t)=2∗e−5∗t你可以这么写diff函数的意思是求y的导数,diff(y) == -5 * y 的意思是 y 的导数等于 -5 * y,得出的结果如下:这里如果我们要指定 C1 的值为2,必须通过给微分方程赋初值来做到。将前面的dslove函数,多传递一个参数y = dsolve(diff(y) == -5*y, 'y(0) == 2');y(0)==2y(0) == 2y(0)==2 的意思就是给 C1∗原创 2022-05-30 15:29:52 · 1917 阅读 · 0 评论 -
matlab subs函数
在matlab命令行查看subs函数的帮助subs函数一共有三种使用方法:subs(s,old,new)subs(s,new)subs(s)点击 subs 的参考页可以看到下面的详细说明第一种使用方法说明:subs函数返回 函数s 的一个拷贝,s函数中的所有old变量都会替换为new变量,并且计算 函数s 的值例子:第二种使用方法说明:用a替换该表达式中的默认变量。如果没有指定要替换的变量或表达式,subs将使用symvar来查找默认变量。对于x + y,默认变量是x。例子:原创 2022-05-27 16:55:03 · 22490 阅读 · 3 评论 -
matlab 使用 int函数 求积分
求函数 f(x)=x2f(x) = x^2f(x)=x2 在 [1, 2] 区间的积分syms x y; % 定义符号f(x)=x^2; % 定义被积函数k=int(f,x,1,2); % 求函数f对符号变量x从1到2的定积分y=double(k); % 将符号解转为数值解disp(k); % 输出k值disp(y); % 输出y值...原创 2022-05-27 16:04:26 · 3395 阅读 · 0 评论 -
matlab 画拉普拉斯变换的零极点
画出 X(s)=2s+3s2+2s+4=2s+3(s+1)2+3X(s) = \frac{2s+3}{s^2+2s+4}=\frac{2s+3}{(s+1)^2+3}X(s)=s2+2s+42s+3=(s+1)2+32s+3 的零极点画零极点num = [0 2 3];%分子对应的系数den = [1 2 4];%分母对应的系数splane(num, den);%画对应的零极点splane 函数function splane(num, den) z = roots(num);原创 2022-05-24 17:43:56 · 1976 阅读 · 0 评论 -
matlab 画阻尼振荡信号及其包络线
画阻尼振荡信号 y(t)=e−t∗cos(2∗pi∗t)y(t) = e^{-t} * cos(2*pi*t)y(t)=e−t∗cos(2∗pi∗t) 及其包络线t = -2 : 0.01 : 4;y = exp(-t) .* cos(2 * pi * t);%将阻尼信号与振荡信号相乘得到阻尼振荡信号ye = exp(-t);figure(1);plot(t, y);%画阻尼振荡信号grid;hold on;plot(t, y);hold on;plot(t, ye);%画上包络线原创 2022-05-22 15:59:48 · 5152 阅读 · 0 评论 -
matlab 画折线信号及其对应的偶信号和奇信号
编写脚本文件和必要的函数产生信号f(t)=3r(t+3)−6r(t+1)+3r(t)−3u(t−3)f(t) = 3r(t+3)-6r(t+1)+3r(t)-3u(t-3)f(t)=3r(t+3)−6r(t+1)+3r(t)−3u(t−3)函数图形的生成文件Ts = 0.01;t = -5 : Ts : 5;y1 = ramp(t, 3, 3);y2 = ramp(t, -6, 1);y3 = ramp(t, 3, 0);y4 = -3 * ustep(t, -3);y = y1 + y2原创 2022-05-22 15:37:41 · 2400 阅读 · 0 评论 -
matlab 求导数
利用 diff 函数求导数t=0 : 0.001 : 2 * pi;y=cos(t .^ 2);z=diff(y);%求导数figure(6);subplot(211);fprintf('size of t = %d, sizeof y = %d\n', length(t), length(y));plot(t, y);%画 cos(t^2)grid;hold on;subplot(212);fprintf('size of t = %d, sizeof z = %d\n', le原创 2022-05-21 19:52:17 · 4954 阅读 · 0 评论 -
matlab 生成wav文件并播放
生成一个时间为5秒的wav文件,读入这个文件并播放Fs = 5000;t = 0 : 1/Fs : 5;% 时间为5秒y = 0.1 * cos(2 * pi * 2000 * t) - 0.8 * cos(2 * pi * t.^2);wavwrite(y, Fs, 'chrip.wav');% 写入chrip.wav文件,此文件不需要你提前手动创建[y1, Fs, nbits, readinfo] = wavread('chrip.wav');% 重新将 chrip.wav 读入,放在y1,原创 2022-05-21 15:01:47 · 5011 阅读 · 0 评论 -
matlab 打印输出
1.在控制台输入命令打印1.1 直接输入一个等式就能打印1.2 通过fprintf打印1.2.1 打印整数1.2.2 打印字符串1.2.3 打印浮点数1.2.4 打印复数2. 写文本程序打印到控制台z = 2 + 6i;fprintf('%f + %fi\n', z, z/1i);3.写文本程序打印到文件z = 2 + 6i;fid=fopen('test.txt', 'w'); %打开文件fprintf(fid, '%f + %fi\n', z, z/1i);原创 2022-05-21 14:14:56 · 35748 阅读 · 0 评论 -
相关性的说明
本文来自 知乎:卷积与相关共轭对称性:若 x(t) 为实函数,那么 x(jw) 就具有共轭对称性,即 x(jw) = x(-jw)*转载 2022-05-19 12:26:34 · 616 阅读 · 0 评论 -
系统的初值问题与系数匹配法
信号与系统 chapter10 系统的初值问题与系数匹配法原创 2022-05-15 16:04:26 · 749 阅读 · 0 评论 -
matlab 绘制连续信号与离散信号
1.绘制连续信号1.1 连续信号 f(t)=5∗e−0.5t,0<t<5f(t) = 5 * e^{-0.5t}, 0<t<5f(t)=5∗e−0.5t,0<t<5t = 0 : 0.001 : 5;%定义一个数组: [0.000, 0.001, 0.002, 0.003, ..., 5.000]x = 5 * exp(-0.5 * t);plot(t, x);1.2 连续信号 f(t)=sin(π∗t),0<t<2πf(t) = sin(\pi原创 2022-05-13 20:43:17 · 6626 阅读 · 0 评论 -
Matlab 绘制零极点图
画零极点b=[1 2 1]; a=[1 -0.5 -0.005 0.3];figure(1);zplane(b, a);画脉冲响应num=[0 1 2 1]; den=[1 -0.5 -0.005 0.3];h=impz(num, den);%脉冲响应figure(2);stem(h, '.');%画脉冲响应画频率响应[H, w]=freqz(num, den);%频率响应figure(3);plot(w/pi, abs(H));...原创 2022-04-16 16:48:55 · 25638 阅读 · 5 评论 -
matlab 信号的频域分析(一)
%画出频率为100Hz和300Hz的复合正弦波Fs=5120;N=1024;dt=1.0/5120;T=dt*N;t=linspace(0, T, N);x=10*sin(2*pi* 100 *t) + 10/3*sin(2*pi* 3*100 *t);plot(t, x);%对复合正弦波进行傅里叶变换,得到一个复数y=fft(x, N);a=real(y);b=imag(y);%a为y的实部,b为y的虚部figure;subplot(2, 1, 1);plot(a);subplot原创 2022-03-16 12:07:31 · 7777 阅读 · 2 评论 -
matlab 实现信号的微分和积分
1.使用中值法对信号进行微分处理1.1 正弦信号的微分处理%生成正弦波信号Fs=500;%采样频率是500HzT=1;%时间是1秒dt=1.0/Fs;%step等于 1/500N=T/dt;%数组的个数为Nt=linspace(0, T, N);%生成一个数组[0, 0.002, 0.004, 0.006,...,0.998, 1.000]y=10*sin(2*pi* 5 *t);%生成频率为5Hz,幅值为10,时间为1秒的正弦波subplot(2, 1, 1);plot(t, y);原创 2022-03-15 11:07:35 · 10297 阅读 · 0 评论 -
matlab 识别信号参数
这一节做一个分析正弦波信号参数的工程,其他波形的信号参数分析代码是一样的。1.创建GUI工程2.布局3.频率的slider回调函数% 频率的Sliderfunction slider1_Callback(hObject, eventdata, handles) pinlv=get(handles.slider1,'Value'); % 获取slider1代表的频率 caiyangpinglv=5120;% 采样频率设置为5120 dt=1.0/caiyangpinglv原创 2022-03-14 10:30:07 · 1836 阅读 · 0 评论 -
matlab 使用定时器画连续正弦波信号
这一节在 matlab 初见定时器 的基础上做一个连续信号发生器。定义global a ,作为正弦曲线的初始相位修改原来的定时器回调函数function my_callback_fcn(hObject, eventdata, handles) Fs=500;%采样频率是500Hz T=1;%时间是1秒 dt=1.0/Fs;%step等于 1/500 N=T/dt;%数组的个数为N t=linspace(0, T, N);%生成一个数组[0, 0.002, 0.原创 2022-03-13 15:36:43 · 2589 阅读 · 0 评论