Matlab数字信号处理
产生方波
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是信号为正值的区域在一个周期内所占的比例。
转自:http://blog.csdn.net/gwh111/article/details/8667041
Matlab数字信号处理的更多相关文章
- 如何使用Matlab做数字信号处理的仿真1
例如 第三版数字信号处理P51 -1.14习题时域离散信号的相关性研究x(n)=Asin(ωn)+u(n),其中ω=π/16,u(n)是白噪声,现要求 ⑴.产生均值为0,功率P=0.1的均匀分布白噪声 ...
- 数字信号处理MATLAB简单序列
数字信号处理应用的几个基本序列: 1 单位样本序列 function mainImseq() clc clear disp('生成抽样序列'); y=imseq(,,); %调用样本函数,此时序列下标 ...
- FPGA与数字信号处理
过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围.眼下正在发生的是,以更高的速度和更低的成本实现越来越复杂的算法,这是针对高级信息服更高带宽以及增强的多媒体处理能力等 ...
- 数字信号处理专题(1)——DDS函数发生器环路Demo
一.前言 会FPGA硬件描述语言.设计思想和接口协议,掌握些基本的算法是非常重要的,因此开设本专题探讨些基于AD DA数字信号处理系统的一些简单算法,在数字通信 信号分析与检测等领域都会或多或少有应用 ...
- 现代数字信号处理——AR模型
1. AR模型概念观 AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推, ...
- 几幅图片弄清DFT、DTFT、DFS的关系 数字信号处理
原址:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ...
- 转载--关于FPGA设计数字信号处理电路的心得
FPGA使用的越来越广泛,除了可用于设计控制电路以为,数字信号处理电路更是FPGA的强项和难点.个人可以说才刚刚入门FPGA设计,也做过一些数字信号处理方面的电路设计,记录下个人心得体会. (一)善用 ...
- 数字信号处理--FFT与蝶形算法
在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征.尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理.因此至DFT被发现以来, ...
- 数字信号处理与音频处理(使用Audition)
前一阵子由于考博学习须要,看了<数字信号处理>,之前一直不清除这门课的理论在哪里应用比較广泛. 这次正巧用Audition处理了一段音频,猛然发现<数字信号处理>这门课还是很实 ...
随机推荐
- mysql的初识--DOS下的简单命令
DOS下进入 1.通过程序中的mySQL的:MySQL 5.6 Command Line Client直接进入mySQL的命令行: 2.或者通过WIn+R-->输入cmd,然后C:等一层一层找到 ...
- Android之alertDialog、ProgressDialog
一.alertDialog 置顶于所有控件之上的,可以屏蔽其他控件的交互能力.通过AlertDialog.Builder创建一个AlertDialog,并通过setTittle(),setMesseg ...
- 高级智能研究计划(IARPA):大脑皮层建模
哈哈,看到了一篇我最感兴趣的领域的新闻报导,可以深挖里面的各种细节. Quanta Magazine: Illuminating Science - 原文出处 卡内基·梅隆大学 - Tai Sing ...
- 4s前置摄像头调用
最近做了个抓拍的功能需要调用前置摄像头,在5s,6s,6plus上面都能正常调用,但是在4s上调用摄像头会出现白色.开始以为是手机的原因,后来百度4s的前后摄像头的像素,发现前置摄像头的像素非常低,于 ...
- 基础知识复习(一)——C语言位运算符详解
常用的位运算符:与(&),取反(~),或(|),异或(^),左移(«),右移(») 1. 与(&)操作符,按位与,全为1 时,结果取1 11001 &10011 结果:1000 ...
- juery 实现下拉框多选 jquery-multiselect
效果: 除了jquery,需要引用的样式和js文件: <link rel="stylesheet" type="text/css" href=" ...
- C#驱动及应用
一,使用开源客户端:StackExchange.Redis 二,使用方法: 1,获取访问redis数据库连接,代码如下. /// <summary> /// 获取访问redis数据 ...
- 谈谈Javascript的this关键字(this is not this)
前言: 看文章标题你就知道,这篇文章我只讲一个简单的Javascript的this关键字,说它简单——它又不简单,因为曾几何时我也对this关键字有些困惑,它也确实会让不少程序员感到不解——它像是一个 ...
- 关于 php mysql pdo cannot find driver 解决方案
1.下载 文件 或者 进入 在PHP源码包中进入ext/pdo_mysql http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz 2.解压文件tar zxvf PDO ...
- ubuntu 14.04 下找不到命令,路径出错
在安装一些东西时,可能操作上不小心把路径覆盖或打错,造成一些基本命令如ls mkdir等无法使用,就会出现以下提示错误. 错误: 由于/usr/bin 不在PATH 环境变量中,故无法找到该命令 根本 ...