matlab软件是什么软件有什么用途

matlab软件是什么软件有什么用途,第1张

MATLAB是一款主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的软件。

一、MATLAB软件的简介:

MATLAB由美国mathworks公司所发布,主要应用方面是数值计算、可视化程序设计、交互式程序设计等高科技计算环境。

它集数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等各种十分强大的功于一个易于使用、便于观察的视窗之内,可以为科学研究与工程设计等工作以及其他需要进行有效数值计算的众多科学任务提供了一种具体而又全面的解决方法。

同时,MATLAB还在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。

二、MATLAB的主要功能有以下几个方面:

1、进行数值分析。

2、可以带入数值和符号并进行相关计算。

3、在工程方面,还可以利用科学的方法绘制复杂精确的图像。

4、运用于控制系统时,可以进行设计与仿真等内容。

5、在面对数字图像时,可以对图像进行处理,编辑图像的内容。

6、可以对数字信号进行处理。

7、在通讯系统中,可以完成设计与仿真等任务。

8、除了工程领域之外,还可以应用于财务与金融工程的分析与仿真等工作。

扩展资料:

MATLAB在使用时,显现出以下强大的优势特点:

1、利用强大的数值计算及符号计算功能,能使用户直观简便地进行繁杂的数学运算分析。

2、MATLAB具有全面、强大的图形处理功能,可以轻易实现计算结果和编程的可视化。

3、MATLAB的用户界面十分简洁,接近数学表达式的自然化语言,使学习者可以很轻松地学习并掌握。

4、MATLAB内部备有功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。

参考资料来源:百度百科-MATLAB

用mean(a,1)或者mean(a,2)函数求矩阵a均值,再用cumsum函数可以累加。

具体代码如下:

>> A=rand(3)

a=mean(A,1) %按列平均

b=mean(A,2) %按行平均

c=mean(A(:)) %全部平均

A =

08134 08940 02876

07185 09507 09264

05008 04624 04963

a =

06776 07690 05701

b =

06650

08652

04865

c =

06722

>>

MATLAB(矩阵实验室):是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。

1、向量的创建。直接输入,用“:”生成向量,函数linspace用来生成数据按等差形式排列的行向量。函数logspace用来生成等比形式排列的行向量。2、矩阵的创建。直接输入,函数eye,生成单位矩阵。函数ones用ones生成全1的矩阵。函数zeros函数zeros生成全0矩阵。函数rand函数rand用来生成[0,1]之间均匀分布的随机函数。函数randn函数rand用来生成服从正态分布的随机函数。

MATLA是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB软件是一种用于算法开发、数据可视化、数据分析以及数值计算的计算机软件。MATLAB软件除矩阵运算,绘制函数,数据图像等常用功能外,MATLAB软件还可以用来创建用户界面及与调用其它语言编写的程序。MATLAB软件主要用于数值运算,利用附加工具箱可使用在不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯和金融建模。

11 实验目的

1.了解数字信号处理系统的一般构成;

2.掌握奈奎斯特抽样定理。

12 实验仪器

1.YBLD智能综合信号源测试仪 1台

2.双踪示波器 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

13 实验原理

一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换。一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1所示。

A/D转换包括三个紧密相关的过程,即抽样、量化和编码。A/D转换中需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信息?如果有能不能把它取出来?抽样频率应该如何选择?

奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成分,可以通过适当的低通滤波器不失真地恢复出x(t)。最小抽样速率fs=2fx称为奈奎斯特速率。

低通

译码

编码

量化

抽样

输入信号 样点输出 滤波输出

A/D(模数转换) D/A(数模转换)

图1 低通采样定理演示

为方便实现,实验中更换了一种表现形式,即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。

14 实验内容

1.软件仿真实验:编写并调试MATLAB程序,分析有关参数,记录有关波形。

2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。

15 MATLAB参考程序和仿真内容

%%

%f—余弦信号的频率

% M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2的FFT分析

%2 采样频率Fs

%%

function samples(f,Fs,M)

N=2^M; % fft点数=取样总点数

Ts=1/Fs; % 取样时间间隔

T=NTs; % 取样总时间=取样总点数取样时间间隔

n=0:N-1;

t=nTs;

Xn=cos(2fpit);

subplot(2,1,1);

stem(t,Xn);

axis([0 T 11min(Xn) 11max(Xn)]);

xlabel('t -->');

ylabel('Xn');

Xk=abs(fft(Xn,N));

subplot(2,1,2);

stem(n,Xk);

axis([0 N 11min(Xk) 11max(Xk)]);

xlabel('frequency -->');

ylabel('!Xk!');

%%

假如有一个1Hz的余弦信号y=cos(2πt),对其用4Hz的采样频率进行采样,共采样32点,只需执行samples(1,4,5),即可得到仿真结果。

软件仿真实验内容如下表所示:

仿真参数

f

Fs

Wo(计算)

Xn(图形)

Xk(图形)

(1,4,5)

另外记录图形,并标图号

(1,8,5)

(2,8,6)

自 选

16 硬件实验步骤

本实验箱采样频率fs固定为10KHz,低通滤波器的截止频率约为45KHz。

1、用低频信号源产生正弦信号,正弦信号源频率f自定,并将其接至2TP2(模拟输入)端,将示波器通道一探头接至2TP6(采样时钟)端观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号波形。

2、将示波器通道二探头接至2TP3观察并记录样点输出波形。

3、将示波器通道二探头接至2TP4观察并记录滤波输出波形。

4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频率,重复步骤2至步骤3。

5、用低频信号源产生方波信号,重复步骤1至步骤4。

17 思考题

1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线位置之间的对应关系。

2、 讨论在仿真实验中自选参数的意义。

3、将在2TP2端加方波信号后的恢复波形,与相同频率的正弦信号的恢复波形相比,能够得出哪些结论?

2 FFT频谱分析实验

21 实验目的

1.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。

2.了解FFT点数与频谱分辨率的关系,以及两种加长序列FFT与原序列FFT的关系。

22 实验仪器

1.YBLD智能综合信号源测试仪 1台

2.双踪示波器 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

23 实验原理

离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现,其它的许多算法,如相关、滤波和谱估计等都可化为DFT来实现,DFT也可化为卷积来实现。

对N点序列x(n),其DFT变换对定义为:

在DFT运算中包含大量的重复运算。FFT算法利用了蝶形因子WN的周期性和对称性,从而加快了运算的速度。FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为2个N/4点的DFT。按照此规律,最小变换的点数即所谓的“基数(radix)。”因此,基数为2的FFT算法的最小变换(或称蝶形)是2点DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。一般而言,FFT算法可以分为时间抽取(DIT)FFT和频率抽取(DIF)两大类。

在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。

24 实验内容

1.软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等信号的频谱。

2.硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数后的频谱。

25 MATLAB参考程序和仿真内容

%%

function[x]=ffts(mode,M)

Nfft=2^M;

x=zeros(1,Nfft); %定义一个长度为Nfft的一维全0数组

if mode= =1 for n=0:Nfft-1 x(n+1)=sin(2pin/Nfft); end

end %定义一个长度为Nfft的单周期正弦序列

if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4pin/Nfft); end

end %定义一个长度为Nfft的双周期正弦序列

if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4pin/Nfft); end

end %定义一个长度为Nfft/2的正弦序列,后面一半为0序列。

if mode= =4 for n=0:Nfft-1 x(n+1)=square(2pin/Nfft); end

end

if mode= =5 for n=0:Nfft-1 x(n+1)=square(2pin/Nfft); end

end

if mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4pin/Nfft); end

end

n=0:Nfft-1;

subplot(2,1,1);

stem(n,x);

axis([0 Nfft-1 11min(x) 11max(x)]);

xlabel('Points-->');

ylabel('x(n)');

X=abs(fft(x,Nfft));

subplot(2,1,2);

stem(n,X);

axis([0 Nfft-1 11min(X) 11max(X)]);

xlabel('frequency-->');

ylabel('!X(k)!');

%%

假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT,则只需在MATLAB的命令窗口下键入:[x]=ffts(21,5) ,程序进行模拟,并且输出FFT的结果。

关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个以上的例子进行记录。例如要观察后面补0的加长方法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子。

26 硬件实验步骤

1.将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至模拟通道1输出端。

2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗口。

3.用低频信号产生器产生一个1KHz的正弦信号。

4.选择FFT频谱分析与显示的点数为64点,开始进行FFT运算。此后,计算机将周期性地取回DSP运算后的FFT数据并绘图显示

5.改信号源频率,观察并记录频谱图的变化。

6.选择FFT的点数为128点,观察并记录频谱图的变化。

7.更改正弦信号的频率,重复步骤4 ~步骤6。

8.用低频信号产生器产生一个1KHz的方波信号,重复步骤4 ~步骤7。注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方波信号的频率。

本硬件实验要进行两种信号,每个信号两种频率,每个信号两种点数等共8次具体实验内容,性质能够体现实验要求的4个以上的例子进行记录。

27 思考题

1.对同一个信号,不同点数FFT观察到的频谱图有何区别?

2.序列加长后FFT与原序列FFT的关系是什么,试推导其中一种关系。

3.用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关系。

3 IIR滤波器设计实验

31 实验目的

1.通过实验加深对IIR滤波器基本原理的理解。

2.学习编写IIR滤波器的MATLAB仿真程序。

32 实验仪器

1.YBLD智能综合信号源测试仪 1台

2.双踪示波器 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

33 实验原理

IIR滤波器有以下几个特点:

1.IIR数字滤波器的系统函数可以写成封闭函数的形式。

2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。

3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。

在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。

与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。

一、巴特沃斯IIR滤波器的设计

在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。

Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。

butter函数的用法为:

[b,a]=butter(n,Wn,/ftype/)

其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:

[n,Wn]= buttord(Wp,Ws,Rp,Rs)

其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。

不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:

1.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;

2.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;

3.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[02,07],Ws=[01,08];

4.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如Wp=[01,08],Ws=[02,07]。

二、契比雪夫I型IIR滤波器的设计

在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。

cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。

cheby1函数的用法为:

[b,a]=cheby1(n,Rp,Wn,/ftype/)

在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。

cheblord函数的用法为:

[n,Wn]=cheblord(Wp,Ws,Rp,Rs)

其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。

34 实验内容

1.软件仿真实验:编写并调试MATLAB程序,选择不同形式,不同类型的4种滤波器进行仿真,记录幅频和相频特性,对比巴特沃斯滤波器和契比雪夫滤波器。

2.硬件实验:设计IIR滤波器,在计算机上观察冲激响应、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。

35 MATLAB参考程序和仿真内容

%%

%mode: 1--巴特沃斯低通;2--巴特沃斯高通;3--巴特沃斯带通;4--巴特沃斯带阻

% 5--契比雪夫低通;6--契比雪夫高通;7--契比雪夫带通;8--契比雪夫带阻

%fp1,fp2: 通带截止频率,当高通或低通时只有fp1有效

%fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效

%rp: 通带波纹系数

%as: 阻带衰减系数

%sample: 采样率

%h: 返回设计好的滤波器系数

%%

function[b,a]=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)

wp1=2fp1/sample;wp2=2fp2/sample;

ws1=2fs1/sample;ws2=2fs2/sample;

%得到巴特沃斯滤波器的最小阶数N和3bd频率wn

if mode<3[N,wn]=buttord(wp1,ws1,rp,as);

elseif mode<5[N,wn]=buttord([wp1 wp2],[ws1 ws2],rp,as);

%得到契比雪夫滤波器的最小阶数N和3bd频率wn

elseif mode<7[N,wn]=cheb1ord(wp1,ws1,rp,as);

else[N,wn]=cheblord([wp1 wp2],[ws1 ws2],rp,as);

end

%得到滤波器系数的分子b和分母a

if mode= =1[b,a]=butter(N,wn);end

if mode= =2[b,a]=butter(N,wn,/high/);end

if mode= =3[b,a]=butter(N,wn);end

if mode= =4[b,a]=butter(N,wn,/stop/);end

if mode= =5[b,a]=cheby1(N,rp,wn);end

if mode= =6[b,a]=cheby1(N,rp,wn,/high/);end

if mode= =7[b,a]=cheby1(N,rp,wn);end

if mode= =8[b,a]=cheby1(N,rp,wn,/stop/);end

set(gcf,/menubar/,menubar);

freq_response=freqz(b,a);

magnitude=20log10(abs(freq_response));

m=0:511;

f=msample/(2511);

subplot(3,1,1);plot(f,magnitude);grid; %幅频特性

axis([0 sample/2 11min(magnitude) 11max(magnitude)]);

ylabel('Magnitude');xlabel('Frequency-->');

phase=angle(freq_response);

subplot(3,1,2);plot(f,phase);grid; %相频特性

axis([0 sample/2 11min(phase) 11max(phase)]);

ylabel('Phase');xlabel('Frequency-->');

h=impz(b,a,32); %32点的单位函数响应

t=1:32;

subplot(3,1,3);stem(t,h);grid;

axis([0 32 12min(h) 11max(h)]);

ylabel('h(n)');xlabel('n-->');

%%

假设需设计一个巴特沃斯低通IIR滤波器,通带截止频率为2KHz,阻带截止频率为3KHz,通带波纹系数为1,阻带衰减系数为20,采样频率为10KHz,则只需在MATLAB的命令窗口下键入:

[b,a]=iirfilt(1,2000,3000,2400,2600,1,20,10000)

程序进行模拟,并且按照如下顺序输出数字滤波器系统函数

的系数

b= b0 b1 ……bn

a= a0 a1 ……an

关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个例子进行记录,系统函数只要记录系统的阶数。

36 硬件实验步骤

1.根据实验箱采样频率fs为10KHz的条件,用低频信号发生器产生一个频率合适的低频正弦信号,将其加到实验箱模拟通道1输入端,将示波器通道1探头接至模拟通道1输入端,通道2探头接至模拟通道2输出端。

2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“IIR滤波器”子菜单,出现提示信息。

3.输入滤波器类型、滤波器截止频率等参数后,分别点击“幅频特性”和“相频特性”按钮,在窗口右侧观察IIR滤波器的幅频特性和相频特性。此时提示信息将消失,如需查看提示信息,可点击“设计说明”按钮。

4.点击“下载实现”按钮,IIR滤波器开始工作,此时窗口右侧将显示IIR滤波器的幅频特性。

5.根据输入滤波器类型,更改低频信号源的频率,观察示波器上输入输出波形幅度的变化情况,测量IIR滤波器的幅频响应特性,看其是否与设计的幅频特性一致。

6.更改滤波器类型、滤波器截止频率等参数(共4种),重复步骤3至步骤5。所选择的例子参数最好和MATLAB仿真程序的例子一样。

7.用低频信号产生器产生一个500Hz的方波信号,分别设计3种滤波器,完成如下表要求的功能,并且记录参数和波形。

功 能

滤波器类型

参 数

输出波形

fp1

fp2

fs1

fs2

通过3次及以下次数的谐波

另外记录图形,并标图号

滤除5次及以下次数的谐波

通过3次到5次的谐波

37 思考题

1.在实验箱采样频率fs固定为10KHz的条件下,要观察方波信号频带宽度内的各个谐波分量,方波信号的频率最高不能超过多少,为什么?

2.硬件实验内容7中输出信号各个谐波分量,与原来方波信号同样谐波分量相比,有没有发生失真?主要发生了什么类型的失真?为什么?

4 窗函数法FIR滤波器设计实验

41 实验目的

1.通过实验加深对FIR滤波器基本原理的理解。

2.学习使用窗函数法设计FIR滤波器,了解窗函数的形式和长度对滤波器性能的影响。

42 实验仪器

1.YBLD智能综合信号源测试仪 1台

2.双踪示波器 1台

3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

43 实验原理

数字滤波器的设计是数字信号处理中的一个重要内容。数字滤波器设计包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。

与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为:

H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,原点z=0是N-1阶重极点,因此H(z)是永远稳定的。稳定和线性相位特性是FIR滤波器突出的优点。

FIR滤波器的设计任务是选择有限长度的h(n)。使传输函数H( )满足技术要求。FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本实验介绍窗函数法的FIR滤波器设计。

窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标准响应的高通、低通、带通和带阻FIR滤波器。

一、firl函数的使用

在MATLAB下设计标准响应FIR滤波器可使用firl函数。firl函数以经典方法实现加窗线性相位FIR滤波器设计,它可以设计出标准的低通、带通、高通和带阻滤波器。firl函数的用法为:

b=firl(n,Wn,/ftype/,Window)

各个参数的含义如下:

b—滤波器系数。对于一个n阶的FIR滤波器,其n+1个滤波器系数可表示为:b(z)=b(1)+b(2)z-1+…+b(n+1)z-n。

n—滤波器阶数。

Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2。

ftype—当指定ftype时,可设计高通和带阻滤波器。Ftype=high时,设计高通FIR滤波器;ftype=stop时设计带阻FIR滤波器。低通和带通FIR滤波器无需输入ftype参数。

Window—窗函数。窗函数的长度应等于FIR滤波器系数个数,即阶数n+1。

二、窗函数的使用

在MATLAB下,这些窗函数分别为:

1.矩形窗:w=boxcar(n),产生一个n点的矩形窗函数。

2.三角窗:w=triang(n),产生一个n点的三角窗函数。

当n为奇数时,三角窗系数为w(k)=

当n为偶数时,三角窗系数为w(k)=

3.巴特利特窗:w=Bartlett(n),产生一个n点的巴特利特窗函数。

巴特利特窗系数为w(k)=

巴特利特窗与三角窗非常相似。巴特利特窗在取样点1和n上总以零结束,而三角窗在这些点上并不为零。实际上,当n为奇数时bartlett(n)的中心n-2个点等效于triang(n-2)。

4.汉明窗:w=hamming(n),产生一个n点的汉明窗函数。

汉明窗系数为w(k+1)=054-046cos( ) k=0,…,n-1

5.汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数。

汉宁窗系数为w(k)=05[1-cos( )] k=1,…,n

6.布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。

布莱克曼窗系数为w(k)=042-05cos(2π )+08cos(4π )] k=1,…,n

与等长度的汉明窗和汉宁窗相比,布莱克曼窗的主瓣稍宽,旁瓣稍低。

7.凯泽窗:w=Kaiser(n,beta),产生一个n点的凯泽窗数,其中beta为影响窗函数旁瓣的β参数,其最小的旁瓣抑制α与β的关系为:

01102(α-087) α>50

β= 05842(α-21)04+007886(α-21) 21≤α≤50

0 α<21

增加β可使主瓣变宽,旁瓣的幅度降低。

8.契比雪夫窗:w=chebwin(n,r)产生一个n点的契比雪夫窗函数。其傅里叶变换后的旁瓣波纹低于主瓣r个db数。

44 实验内容

1.软件仿真实验:编写并调试MATLAB程序,观察不同窗,不同类型滤波器不同点数等共4种FIR滤波器的h(n),并记录幅频特性和相频特性。

2.硬件实验:用窗函数法设计标准响应的FIR滤波器,在计算机上观察窗函数幅频特性、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。

45 MATLAB参考程序和仿真内容

%%

%mode: 模式(1--高通;2--低通;3--带通;4--带阻)

%n: 阶数,加窗的点数为阶数加1

%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

%fs: 带通和带阻时指示上限频率

%window:加窗(1--矩形窗;2--三角窗;3--巴特利特窗;4--汉明窗;

% 5--汉宁窗;6--布莱克曼窗;7--凯泽窗;8--契比雪夫窗)

%r: 代表加chebyshev窗的r值和加kaiser窗时的beta值

%sample: 采样率

%h: 返回设计好的FIR滤波器系数

%%

%mode: 模式(1--高通;2--低通;3--带通;4--带阻)

%n: 阶数,加窗的点数为阶数加1

%fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

%fs:

硬件加速的图形通道

JavaFX 图形渲染基于 Prism。如果使用了支持 Prism 的显卡或 GPU,JavaFX 可以很快的进行平滑渲染。如果系统不支持 Prism,那么默认值将会变为 Java 2D。

高性能的媒体引擎

媒体通道支持 Web 多媒体内容的播放,基于 GStreamer 媒体框架,提供了稳定的、低延迟的媒体播放框架。

自包含的应用程序部署模式

自包含的应用程序,可以包含所有的应用程序资源、Java 运行时以及 JavaFX 运行时。应用程序发布后,可以在 *** 作系统本地安装,获得 *** 作系统一致的安装和加载体验。

1语言特点:

1)。语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。

2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。

4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。

5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和 *** 作系统上运行。

6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。

9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

2工具箱

功能型工具箱 —— 通用型

功能型工具箱主要用来扩充matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。

领域型工具箱 —— 专用型

领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Processing Toolbox);财政金融工具箱( Financial Toolbox)等等。

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

Communication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱

Image Processing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Processing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱

System Identification Toolbox——系统辨识工具箱

Wavele Toolbox——小波工具箱

等等

3

输入命令如下:

>>A=[1 2 3

4 5 6]

>>B=[2 3 4

5 6 7]

>>A+B

>>A-B

>>A^2

>>AB

>>inv(A)

MATLAB和Java对于小白MATLAB编算法难。

java容易一些。学过C的话会快些。Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

以上就是关于matlab软件是什么软件有什么用途全部的内容,包括:matlab软件是什么软件有什么用途、matlab 矩阵求平均值!、matlab怎么建立矩阵的向量t和x等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9297775.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存