产生方波

clear
t=0:0.01:10;
subplot(4,1,1)
f1=square(t);                      %  产生周期为2pi的方波信号
plot(t,f1)
axis([0,10,-1.2,1.2])
subplot(4,1,2)
f2=square(t,30);              %  产生周期为2pi,占空比为30%的方波信号  
plot(t,f2)
axis([0,10,-1.2,1.2])
subplot(4,1,3)
f3=square(2*pi*t);                %  产生周期为1的方波信号
plot(t,f3)
axis([0,10,-1.2,1.2])
subplot(4,1,4)
f4=square(2*pi*t,80);             %  产生周期为1,占空比为80%的矩形脉冲信号
plot(t,f4)
axis([0,10,-1.2,1.2])

产生三角波,锯齿波

clear
t=0:0.01:15;
subplot(3,1,1)
f1=sawtooth(t);
plot(t,f1)
axis([0,15,-1.2,1.2])
subplot(3,1,2)
f1=sawtooth(pi*t);
plot(t,f1)
axis([0,15,-1.2,1.2])
subplot(3,1,3)
f1=sawtooth(2*pi*t,0.5);
plot(t,f1)
axis([0,15,-1.2,1.2])

angle-相位角求取

用法

P=angle(Z)

函数返回向量Z的相位角P,单位是弧度,若元素向量或数组Z为复数,则相位角位于-pi到+pi之间。

besselap-besself低通模拟滤波器

用法

[z,p,k]=besselap(n)

函数返回n阶低通模拟besself滤波器的零点z,极点p和增益k。其中,n《=25,且p的长度为n,k为标量,z是一个空矩阵。

传递函数:

buttap-Butterworth低通模拟滤波器

用法

[z,p,k]=buttap(n)

函数返回 n阶低通模拟Butterworth滤波器的零点z,极点p和增益k。其中,p的长度为n,k为标量, z是一个空矩阵。

cheb1ap-切比雪夫1型低通模拟滤波器

用法

[z,p,k]=cheb1ap(n,Rp)

函数返回n阶切比雪夫1型低通滤波器的零点z,极点p和增益k。其中,p的长度为n,k为标量,z是一个空矩阵。Rp指定通带上允许的波纹类型(单位是dB)。

cheb2ap-切比雪夫2型低通模拟滤波器

用法

[z,p,k]=cheb2ap(n,Rs)

函数返回 n阶切比雪夫2型低通模拟滤波器的零点z,极点p和增益k。其中, z和p的长度为n,若n为奇数,则z的长度为n-1,k为标量。Rs指定阻带上允许的波纹类型(单位是dB)

时域分析

conv-计算卷积

w=conv(u,v)

函数计算两个信号向量u和v的卷积。其中u的长度为m,v的长度为n,则返回计算结果w长度为(m+n+1)。

cov-计算协方差

1.R=cov(X)

函数返回信号X的协方差矩阵R。X可为向量或矩阵。当X为向量时,cov(X)返回一个包含方差的标量R。当X为矩阵时,cov(X)返回协方差矩阵。

2.R=cov(X,Y)

函数求信号X和Y之间的协方差。

生成一个随机矩阵,然后计算该随机矩阵X的协方差矩阵。

fft/ifft-快速傅立叶变换/反变换

1.Y=fft(X)/Y=ifft(X)

函数按照基2的算法对X进行快速傅立叶变换/反变换。若X是一个矩阵,则对矩阵的每列进行快速傅立叶变换/反变换,返回Y是和X相同大小的矩阵。若X是一个多维序列,则对第一个非单独维进行快速傅立叶变换/反变换。

2.Y=fft(X,n)/Y=ifft(X,n)

函数对X进行n点快速傅立叶变换/反变换。当X是一个向量,若X的长度小于n,则先对X进行补零使其长度为n;若X的长度大于n,则对X进行剪切使其长度为n,最后得到一个长度为n的向量Y。当X是一个矩阵,则利用同样方法对矩阵的每一列进行调整,然后对矩阵的每列进行快速傅立叶变换/反变换,最后得到一个n行的矩阵Y。

3.Y=fft(X,n,dim)/Y=ifft(X,n,dim)

用法同上,dim用来指定进行快速离散傅立叶变换/反变换的维数。

信号sig中含有正弦信号和噪声信号,对其进行快速离散傅立叶变换。并求出原始信号频率成分。

>> t=0:0.005:1;
>> x=sin(2*pi*20*t)+cos(2*pi*60*t);
>> sig=x+rand(1,length(t));
>> subplot(1,2,1);
>> plot(sig(1:60));
>> title('原始信号图');

>> ftt_sig=fft(sig,512); %对sig信号进行补零的512点快速离散傅立叶变换
>> p=ftt_sig.*conj(ftt_sig)/512; %求信号的功率谱密度
>> f=1000*(0:255)/512; %设置频率的变换范围
>> subplot(1,2,2);
>> plot(f,ftt_sig(1:256)) %绘制功率谱密度分布图

>> title('功率谱密度图')

fftfilt-基于FFT额FIR滤波

用法

y=fftfilt(b,x)

函数使用叠加法进行基于FFT的FIR滤波。给定系数向量 b对输入向量x进行滤波。

y=fftfilt(b,x,n)

函数使用叠加法进行基于FFT的FIR滤波。给定系数向量b对输入向量x进行滤波。n用于决定FFT的长度。

filtfilt-零相位数字滤波

用法

y=filtfilt(b,a,x)

函数对输入信号 x进行正向和反向处理从而实现零相位数字滤波。b和a指定传递函数的系数, x是输入信号。函数对x进行前向滤波后,再将结果进行反向。

hilbert-希尔伯特变换

x=hilbert(xr)

函数将实序列xr进行希尔伯特变换,返回一个同样长度的复数序列x。若xr是一个矩阵,则对xr矩阵的每列进行希尔伯特变换。

x=hibert(xr,n)

函数将实序列xr进行n点希尔伯特变换,返回一个同样长度的复数序列x。对xr进行补零或者去零的操作使其长度为 n。

impinvar-用冲击响应不变法使模拟滤波器转换为数字滤波器

用法

[bz,az]=impinvar(b,a,fs)

函数在保持冲击响应不变的前提下,将模拟滤波器的传递函数的分子分母b和a转换为数字滤波器的传递函数的分子分母bz和az。fs为对模拟滤波器的采样频率,缺省为1hz。

[bz,az]=impinvar(b,a,fs,tol)

方法同上,tol为指定的公差,tol越大,则impinvar函数接近极点的可能性越大,缺省为极点值的0.001。

residuez-Z反变换

用法

[r,p,k]=residuez(b,a)

函数对有理Z函数进行Z反变换。b和a分别为有理Z函数的分子多项式系数向量和分母多项式系数向量。返回r为留数列向量,p为极点列向量,若分子多项式的阶数大于分母多项式的阶数,则k为展开式中的直接项。

信号产生

ones-产生单位阶跃信号

signal=ones(1,N)

函数产生一组N点单位阶跃信号signal,长度为N,信号幅值为1。

生成一个长度为5的单位阶跃信号,信号幅值为1。

signal=ones(1,5)

zeros-产生单位抽样信号

signal=[1,zeros(1,N-1)] 函数产生一组单位抽样信号signal。

1.生成一组长度为5的单位抽样信号

signal=[1,zeros(1,5-1)]

2.生成一个长度为5的单位抽样信号,它在时间轴上延迟2个周期。

x=zeros(1,5)    x(2)=1

sawtooth-生成锯齿波/三角波信号

1.sawtooth(t) 函数对时间变量t产生周期为2pi的锯齿波,幅值在+1到-1间变化。

2.sawtooth(t,width) 函数对时间变量t产生三角波,width是在0到1之间取值的尺度参数,指定锯齿波的波峰出现的位置。函数在[0,width*2*pi]区间内由-1增大到+1,在[width*2*pi,1]区间内由+1减小到-1。

width=1时,产生正极性锯齿波,width=0时,产生负极性锯齿波,width=0.5时,产生对称锯齿波。

square-生成方波信号

1.x=square(t) 函数对时间变量t产生周期为2pi,幅值为+-1的方波。

2.x=square(t,duty) 函数是对时间变量t产生指定周期,幅值为+-1的方波。duty是信号为正值的区域在一个周期内所占的比例。

MATLAB有关数字信号处理的一些方法相关推荐

  1. 对时域连续信号用matlab离散,数字信号处理上机实验一 离散时间信号的时域分析...

    实验1 离散时间信号的时域分析 一.实验目的 (1)了解MATLAB语言的主要特点及作用: (2)熟悉MATLAB主界面,初步掌握MATLAB命令窗和编辑窗的操作方法: (3)了解常用时域离散信号及其 ...

  2. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

  3. MATLAB与数字信号处理——常用序列的MATLAB实现

    常用序列的MATLAB实现 单位抽样序列 单位阶跃序列 矩形序列 实指数序列 复指数序列 正余弦序列 随机序列 周期序列 简单复制 用求余数的方法(模运算) 说明 常用序列的MATLAB实现 单位抽样 ...

  4. 基于matlab的心电信号处理毕业论文,浅议仿真基于MATLAB的“数字信号处理”仿真实验毕业论文范文...

    论文导读:),通过扬声器可以听到"重庆邮电大学,重庆邮电大学"声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下: figure: t=(0:length(x)-1)/Fs ...

  5. matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...

    西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...

  6. matlab数字信号处理实验报告,【实验设计论文】Matlab的数字信号处理课程实验设计(共3490字)...

    摘要:本文设计了一个基于Matlab的"数字信号处理"课程综合性实验.该实验把"数字信号处理"课程中的许多离散的知识点串接了起来,包括采样.量化.滤波器设计.滤 ...

  7. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽

    通常,在数字信号处理时,我们避不开matlab这个工具,因其它的强大的功能受到广大工程师的好评,也一直都是业界的不二之选.但是,matlab毕竟是商业软件,公司里如果使用的话,就需要支付高昂的费用.即 ...

  8. matlab x(n)16点DFT,[基于MATLAB的数字信号处理实例分析.doc

    [基于MATLAB的数字信号处理实例分析 湖北文理学院理工学院 学生结业论文 课程名称:MATLAB教程 结业论文名称:基于MATLAB的数字信号处理实例分析 专业名称:通信工程 班级:1011 学号 ...

  9. 用matlab画单位冲激序列,实验一 基于Matlab的数字信号处理基本操作.doc

    实验一 基于Matlab的数字信号处理基本操作 信号来表示,自变量必须是整数. 离散时间信号的波形绘制在MATLAB中一般用stem函数.stem函数的基本用法和plot函数一样,它绘制的波形图的每个 ...

最新文章

  1. 李洪强iOS经典面试题153- 补充
  2. 图论 ---- Codeforces Round #649 (Div. 2)D题[dfs求环+深度分层求图中独立集]
  3. ELNET服务被我删了,如何安装?
  4. python自学流程-python 学习流程
  5. ShopEx安装过程
  6. SAP Spartacus cost center list class的赋值逻辑
  7. react 版权问题_react使用fetch封装请求的方法-简单易懂
  8. Python读写ini文件的封装类
  9. Maven里头的pom.xml配置详解
  10. 25. Consider support for a non-throwing swap
  11. Matlab-数值计算方法作业
  12. CSDN表格换行方法
  13. 分布式理论,架构设计
  14. errorcode 微信分享_分享错误码
  15. XML-BEANS compiled schema: Could not locate compiled schema
  16. css img 等比例自动缩放
  17. 腾讯小程序php,微信小程序实现使用腾讯地图SDK步骤详细介绍
  18. 电阻式压力传感器变送器技术选型及接线图解
  19. 红包诞生到测试计划-一
  20. 【转】传递函数中拉普拉斯变换的s是用来干什么的?

热门文章

  1. 嘉宾PPT分享|泛娱乐领域音视频技术探索与实践
  2. layui 实现图片上传和预览
  3. 15.Node.js REPL(交互式解释器)
  4. 这公司需要再利用CPU热能:于是淘汰i7换AMD Ryzen
  5. 【LeetCode】172 - Factorial Trailing Zeroes
  6. xcart-子分类/语言不显示
  7. Devexpress之dxErrorProvider
  8. 介绍微软一个罕为人知的无敌命令
  9. linux运维最小化安装cacti,Linux监控和安全运维--cacti安装部署
  10. Matlab如何绘制散点图矩阵,不同版本的散点图矩阵