需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN电子技术论坛>博客 >木杉tutu1583博客 >MATLAB总结

木杉tutu1583的博客——FPGA学习历程点滴--态度决定一切

博主:木杉tutu1583???? ???? ????
介绍: 本博客只为记录自己学习FPGA的点滴,以最初的心做最真的事。
文章(12)???? 访问(7875)???? 评论(1)???? 投票(9)???? 订阅本博??

博文列表查看方式: ???

MATLAB总结
发布时间:2015-11-22 16:48:50
技术类别:资源共享
需要确认注册邮箱后才能下载,立即确认我的邮箱

MATLAB

Help zeros:

【zeros的使用方法】

B=zeros(n):生成n×n全零阵。

B=zeros(m,n):生成m×n全零阵。

B=zeros([m n]):生成m×n全零阵。

B=zeros(d1,d2,d3……):生成d1×d2×d3×……全零阵或数组。

B=zeros([d1 d2 d3……]):生成d1×d2×d3×……全零阵或数组。

B=zeros(size(A)):生成与矩阵A相同大小的全零阵。

Help ones:

【ones的使用方法】

ones的使用方法与zeros的使用方法类似。

?

Help rot90:

用法:rot90(X),其中X表示一个矩阵。

功能:rot90函数是matlab中使一个矩阵逆时针旋转90度的函数。Y=rot90(X)表示使矩阵X逆时针旋转90度,作为新的矩阵Y,但矩阵X本身不变。

rot90(x,2),其中X表示一个矩阵。功能:将矩阵x旋转180度,形成新的矩阵,但x本身不变。

rot90(x,n),其中x表示一个矩阵,n为正整数,默认功能:将矩阵x逆时针旋转90*n度,形成新矩阵,x本身不变。

?

Help linspace:

linspace(a1,a2,N)

此函数是用来生成a1与a2之间等距的数组,确定N的方法是依照间距d=(a2-a1)/(N-1)

那么我们先举两个例子来讨论生成的等差数列间距。

我们下面生成0-9之间间距为1的等差序列,那么我们尝试在MATLAB主窗口中输入如下:

?B=linspace(0,9,9)

我们可以看到结果如下:

B =

? ? ? ? ?0 ? ?1.1250 ? ?2.2500 ? ?3.3750 ? ?4.5000 ? ?5.6250 ? ?6.7500 ? ?7.8750 ? ?9.0000

?

Help stairs:

Stairs:显示连续信号波形中的不连续点。

代码:

figure

>> x=linspace(0,4*pi,40);

>> y=sin(x);

>> stairs(y)

?

?

Help vander:(没有懂)

?

Help disp显示功能

例如,disp(x):显示x内容。

?

Help poly

求特征多项式

A =[1 2 3;4 5 6;7 8 0];%A为一个方阵

P=poly(A)

P=

1 -6 -72 -27

即方阵A的特征多项式为:λ^3-6*λ^2-72*λ-27=0

解上面的方程即可得到方阵A的特征值。

Round:

????? Round(A):得到A附近的整数值。

Mean:

????? 求平均值。

????? A=[1 2 3;3 3 6;4 6 8;4 7 7]????? ;

Mean(A)

Ans=3 4 5(3=(1+3+4+4)/4,4=(2+3+6+7)/4,5=(3+6+8+7)/4)

????? Mean(A,2)

?????????? Ans=[2 4 6 6]’(转置)(每一行的平均值)

?

进制之间的转换

1.??? 十进制整数转二进制函数dec2bin

?如果已知绝对值小于1的十进制数D,如何转换成B比特的二进制数原码?

Dec2bin(round(abs(D)*2^(B-1))+(2^(B-1))*(D<0),B)

2.??? 十进制整数转换成补码形式的二进制数

Dec2bin(round(D*2^(B-1))+2^B*(D<0),B)

?

规定:窗函数以w_开头(window),滤波器系数以b_开头,量化滤波器系数以Q_开头(quantization),频率响应(dB单位)以f_开头(就相当于频率响应的纵坐标f)

?

?

FIR滤波器的MATLAB设计

一.?? 采用fir1

采用了窗函数设计方法

语法如下:

  • ?
  • ?
  • ?
  • ?

各项参数意义:

  1. b:返回的FIR滤波器单位脉冲响应,脉冲响应为偶对称,长度为n+1
  2. n:滤波器的阶数,需要注意的是,设计出的滤波器长度为n+1
  3. Wn:滤波器的截止频率(归一化)。需要注意的是,wn的取值范围为0<wn<1,1对应为信号采样频率的1/2;

如果wn是单个数值,且ftype参数为low,则表示设计截止频率为wn的低通滤波器,如ftype参数为high,则表示设计截止频率为wn的高通滤波器;

如果wn是由两个数组成的向量[wn1,wn2],ftype为stop,则表示设计带阻滤波器,ftype为bandpass,则表示设计带通滤波器;

如果wn是由多个数组成的向量,则表示根据ftype的值设计多个通带或阻带范围的滤波器,ftype为DC-1,表示设计的第一个频带为通带,ftype为DC-0,表示设计的第一个频带为阻带。

4.window:指定使用的窗函数向量,默认为海明窗(Hamming),最常用的窗函数有汉宁窗(Hanning),海明窗(Hamming),布拉克曼窗(Blackman)和凯塞窗(Kaiser),可通过输入help window查找(当凯塞窗函数的贝塔值取7.856时,凯塞窗具有最好的性能

5.noscale:指定是否归一化滤波器的幅度

注意:fir1函数智能选择滤波器的截止频率和阶数,不能选择滤波器通带,阻带衰减,过渡带宽等参数。

二.?? 采用kaiserord函数设计

语法如下:[n,wn,beta,filtype]=kaiserord(f,a,dev,fs)

参数意义:

  1. f及fs:f是一个向量,其中的元素为待设计滤波器的过渡带的起始点和结束点。如果没有fs参数,f中元素的取值范围为0~1,即相对于采样频率一半的归一化频率;如果有fs参数,则fs为信号采样频率,f中元素即为实际的截止频率。如,设计滤波器的过渡带宽为1000~1200hz,2000~2100hz,信号采样频率为8000hz;如没有设置fs参数,则f=[0.25 0.3 0.5 0.525];如设置fs为8000,则f=[1000 1200 2000 2100]
  2. a:指定这些频率段的理想幅度值。通带为1,阻带为0.a与f相对应。以上例子,应该设置为a=[1 0 1],则表示设计带阻滤波器。
  3. dev:指定通带或阻带内的容许误差。同样是上面的例子,要求通带容许误差为0.01,阻带容许误差为0.02,则dev=[0.01 0.02 0.01]
  4. n:n为滤波器的最小阶数
  5. wn:得到滤波器的截止频率点
  6. beta:计算得到的beta值
  7. ftype:获得滤波器的类型参数

三.?? 采用fir2函数设计

使用fir2函数,可以完成任意响应滤波器的设计,即滤波器的幅度频率响应在指定的频段范围内有不同的幅值。,如在0~0.1的理想幅值为1,0.2~0.4的幅值为0.5等。

语法如下:

  • ?
  • ?
  • ?
  • ?
  • ?
  • ?

参数意义:

  1. n及b:滤波器的阶数。注意,根据FIR滤波器的结构特点,当设计的滤波器在归一化频率为1处的幅度值部位0时,n不能为奇数。
  2. f及m:f的取值为0~1,对应于滤波器的归一化频率,m用于设置对应频段范围内的理想幅值。如要求的滤波器在0~0.125内幅值为1,0.125~0.25为0.5,0.25~0.5为0.25,0.5~1为0.125,则f=[0 0.125 0.125 0.25 0.25 0.5 0.5 1],m=[1 1 0.5 0.5 0.25 0.25 0.125 0.125]
  3. windom:指定窗函数的种类,其长度为滤波器长度n+1,默认为海明窗。
  4. npt:指定在对幅度响应进行插值的插值点个数,其默认为512
  5. lap:指定对幅度响应进行插值时,对于不连续点转变成连续时的点数,其默认值是25

?

?

区别:

1.stem和plot

stem是离散函数,plot是连续函数

?

常用的信号处理函数:

1.??? 随机信号函数

随机信号函数:Rand(1,N)和randn(1,N)

2.??? 方波信号函数

Square(T)和Square(T,DUTY),其实DUTY为正值区域在一个周期的比例,如DUTY=50时,产生方波。

3.??? 锯齿波信号函数

Sawtooth(T)和sawtooth(T,WIDTH)

4.??? 正弦波信号函数

Sin(2*pi*f*t)

?

?

?

常用信号分析级处理函数

1.??? 滤波函数

Filter(b,a,x):分子项系数依次从大到小排列成一个行矩阵b,分母项系数依次从大到小排列成一个行矩阵a,x为输入信号序列。

2.??? 单位抽样响应函数

Impz(b,a,p),其中a,b同上,p为计算的数据点数

3.??? 频率抽样响应函数

Freqz(b,a,n,Fs): 其中a,b同上,n为在[0 Fs/2]范围内计算的频率点数量,Fs为采样频率。

4.??? 零极点增益函数

Root函数计算系统的零极点,zplane函数画出系统的零极点。

?

分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
??????有[ 2 ]名读者喜欢此文
阅读(1271)?? 评论(0)?? 收藏??I?? 打印??I?? 推荐到小组??I?? 转发到我的博客 (1)
对不起,您还没有登录,请先登录注册
上一篇:led的简单设计

下一篇:基础门逻辑--三种描述方式

最近到访博主
Augusyang ywfw30 杰式悦敏 坤豆豆 青岳岱宗 地狱变
牛人有话说 - MATLAB总结
美国的游客 (您将以游客身份发表,请登录 | ?注册)
?
你还可以输入1000
验证码:
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
?
有 [ 0 ] 名读者发表评论 - MATLAB总结
转发到我的博客
评论?@FPGA学习历程点滴--态度决定一切?的“MATLAB总结”
MATLABHelpzeros:【zeros的使用方法】B=zeros(n):生成n×n全零阵。B=zeros(m,n):生成m×n全零阵。B=zeros([mn]):生成m×n全零阵。B=zeros(d1,d2,d3……):生成d1&...
你还可以输入30000
同时评论给?木杉tutu1583
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
博主资料

本人是FPGA爱好者,想要在FPGA创出自己的天下。

文章存档
最新评论
  • EDNChina??17:02 08-06
    GOOD
阅读排行
木杉tutu1583的好友
木杉tutu1583的小组???? 加入小组
EDN助学—FPGA/CPLD学习小组
成员18962名
创建者:特权同学
最新网络博文
华为官方回应有关自研手机操作系统的传闻
这颗芯片有故事,你有酒吗?
PCB设计PADS各层的用途和作用
联想收购的得与失 摩托罗拉空壳化使...
传华为智能机销量目标下调2000万部 Ma...
? 更多博文>>
返回博客首页
有问题请反馈