基于MATLAB的FIR低通滤波器程序加权系数

基于MATLAB的FIR低通滤波器程序加权系数,第1张

我不太清楚你说的加权是指什么.这个程序基本分两个部分,一个是判伪,一个是阶数、频率范围、幅频特性、采样率设定。阶数、频率范围、采样率应该没什么加权可言,只剩幅频特性了。我看你的幅频特性设计是安排传输函数零点位置达到的吧,那对切比雪夫特性的影响也就在零点位置上了,对应到你的程序中应该是AA矩阵中值的设定。你可以改变AA中的值,应该能看出变化。

以上只是一点拙见,有错请见谅,本人也不是专业滤波器设计。

让信号过一个低通滤波器就可以。

如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验内容(1)结果图1011(a)、(b)和(c)可见,经过系统低通滤波使输入信号、和的阶跃变化变得缓慢上升与下降。

基色信号减去亮度信号就得到色差信号 对色差信号进行频带压缩的依据是利用人眼的特性去节约带宽。因为人的眼睛对彩色图像(对图像的彩色部分)的分辨力较低,所以对色差信号传输的带宽比亮度信号校减少基带信号频谱中的高频分量。

这样可以节省传输频带,提高信道的频谱利用率,还可以减少串扰。

扩展资料:

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强, *** 作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

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

产品类型 键盘

人体工程学 支持

即插即用 支持

手托 支持

多媒体功能键 支持

功能参数

USB HUB 有

规格

键盘标准 机械键盘

适用类型 笔记本+台式机

接口类型 USB

连接方式 有线

特性

其它特性 茶轴按键,5千万次敲击寿命;6个可编程G键,110个按键无冲:全键盘无冲突设计,LED背光,5档亮度可调;防误按Windows键锁止;支持Windows 8、Windows 7以及Windows Vista下系统,

打开MATLAB,这里用MATLAB R2012a版本,然后点击Simulink按钮,或者在Matlab命令行里输入simulink即可,就打开了Simulink仿真环境。点击Simulink左上角file——new—— modol,就建立了模型窗口。

接下来就是建立模型的过程,按照自己的设计,在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。搭建模型的过程就不详细介绍。可参考下面的连接

1如何建立一个简单的Simulink模型

下面进入到最重要的环节。模型搭建运行成功时候,点击simulation下的选项configuration parameters,出现参数设置的窗口如下,接下来主要是参数设置的问题,以及代码自动生成的设置。

代码生成的模型配置主要是在Configuration Parameters参数配置集合中进行,嵌入式代码生成用的模型配置相对比较复杂。Configuration Parameters中集中管理着模型的代码生成方法、格式等约束条件。在Simulink窗口的Simulation的下拉菜单中,选择Configuration Parameters,或者按下Ctrl+E就可以打开Configuration Parameters参数配置对话框

为了生成嵌入式代码,至少需要配置3个部分:模型的解算器solver;模型的系统目标文件(如erttlc或其他自定义的嵌入式系统目标文件);硬件的实现规定(Hardware Implementation)。

1模型的解算器solver的设置,solver页面如下图所示。

在研究代码生成时,solver的步长一定要设置为固定步长,因为RTW只能从固定步长的模型生成代码[21]。固定点solver提供了多种算法,本次的SVPWM模型中由于没有连续状态,可以选择discrete方法。步长默认auto,在简单的通用嵌入式代码生成过程中此参数没有实际作用,可以采用默认或者设置001s。而在针对目标芯片定制的代码生成过程中,硬件驱动工具箱往往会将步长step size作为其外设或内核中定时器的中断周期,使得生成的算法代码在硬件芯片中以同样的时间间隔执行。并且由于解算器步长为整个模型提供了一个基础采样频率,故被称为基采样率(base-rate)。

2 Hardware Implementation硬件的实现规定

Hardware Implementation选项是规定目标硬件规格的选项。在这个选项卡里,可以配置芯片的厂商和类型,设置芯片的字长、字节顺序等。在本次基于DSP的SVPWM算法的仿真代码生成中,Hardware Implementation选项设置如下图所示。

3 模型的系统目标文件

另外一个关键的设置选项是控制整个代码生成过程的系统目标文件System Target File,erttlc文件是Embedded Coder提供的能够生成专门用于嵌入式系统C代码的系统目标文件。在Code Generation页面中,单击下图右上角的Browse按钮可以d出对话框以选择系统目标文件。

Report子标签能够打开设置关于生产代码报告的页面,可以选择是否创建HTML格式的代码生成报告,并通过勾选框选择是否在模型编译结束后自动打开。最好勾选Create Code Generation Report及Open Repot automatically两个选项,模型生成代码完毕后会自动d出报告列表,而不需要到文件夹中逐一将源文件手动查找并打开。

Include comments选项的勾选决定是否在生成代码中添加Simulink自带的注释。启动此选项后,Auto Generated comments组及Custom comments组的选项便被使能,可以根据需要选择希望生成的注释内容。最好勾选此选项,注释中将带有可以从代码跳转到对应模型的超链接,方便读者追溯模块与代码的对应关系。

Custom Code子标签页面主要用于添加用户自定义的或者编译模型时必须的源文件、头文件或者库文件等。

Debug子标签页面提供了关于编译过程和TLC过程的选项。Verbose build的勾选可以将编译过程信息显示在Command Window中。Retainrtw file则能够保留编译模型生成时的rtw文件。TLC process组参数能够启动TLC文件的profile功能和调试功能,使得开发者能够对TLC语言文件进行断点、单步调试等动作。

rtw文件是代码生成过程中从Simulink模型得到的中间文件,它记录了模型相关的所有需要被TLC文件使用的信息。

最后,点击Generate code按钮即可自动生成所需代码。

自动生成的文件在MATLAB左侧的工作空间里,可以打开该文件夹查看自动生成的文件。

x∈[-10π,10π]用matlab语言写就是x 冒号表示从x的取值从10pi 到10pi即x从-314159 -304159 -294159 -284159 一直到275841 285841 295841 305841,每个1个数取值

如果要每个05个数取值,就是x=-10pi :05:10pi

至于pi/10,pi/100表示不同大小的角度

法均相同的命令及语句

命令及函数名 用途 用法

与数组定义相关的

DATA 与数组有关的 相同

READ 与数组有关的 相同

RESTORE 与数组有关的 相同

DIM 与数组有关的 相同

流程控制

IFTHENELSE 选择结构语句 相同

IFTHEN 选择结构语句 相同

WHILEWEND 循环控制 相同

FORTOSTEPNEXT 循环控制 相同

DEF FN 定义函数 相同

GOSUBRETURN 分支到当前程序模块中的子程序 相同

字符串处理

ABS() 返回数的绝对值 相同

ATN() 返回用弧度表示的正切值 相同

COS() 返回弧度的余弦 相同

EXP() 返回e的指定次幂 相同

INT() 返回不大于给定数的最大整数 相同

LOG() 返回一个数值的自然对数 相同

RND() 产生0-1之间的随机数 相同

SGN() 返回数的符号值 相同

SIN() 返回弧度的下弦 相同

SQR() 返回数的平方根 相同

TAN() 返回弧度的正切 相同

ASC() 返回字符串每一个字符的ASCII码 相同

CHR$() 返回指定的ASCII码对应的字符 相同

HEX$() 返回十进制数的十六进制的字符串 相同

LEFT$() 返回从字符串左边开始的的指定数目的字符 相同

LEN() 返回字符的长度 相同

MID$() 返回从字符串指定位置开始的指定数目字符 相同

RIGHT$() 返回从字符串右端开始的指定数目的字符 相同

STR$() 返回把数值数据转换为字符后的字符串 相同

INVERSE 反显字符 相同

VAL() 把一个数字字符转换为相应的数值 相同

输入/输出相关命令

CLS 清除屏幕 相同

INKEY$ 从键盘读入一个字符 相同

INPUT 从键盘读取输入 相同

LOCATE 把文件光标定位到指定的行,列 相同

SPC() 在PRINT语句中跳过指定个数的空格 相同

WRITE 把数据输出到屏幕或文件 相同

图形

CIRCLE 画圆 相同

LINE 画线 相同

BOX 画矩形 相同

DRAW 画点 不同

声音

PLAY 演奏指定的音乐 相同

BEEP 使扬声器发出一个短促的声音 相同

文件

OPEN 打开文件

INPUT# 从顺序文件读取一个字符串 相同

GET 从随机和二进制文件读取数据 相同

PUT 把数据写入随机或二进制文件 相同

LOF 返回随机文件长度 相同

CLOSE 关闭文件 相同

EOF() 当文件指针位于文件结尾时返回-1 相同

其它

TRACE 单步跟踪程序执行 相同

LET 将变量赋值

SWAP 交换两下变量的值 相同

GVBASIC语言知识要点

21文曲星的屏幕特点

每行显示汉字或全角字符: 10 个

每行显示英文或半角字符: 20 个

液晶点阵: 16080

22 GVBASIC中的符号定义

22 GVBASIC中的符号定义与其它BASIC版本完全一样

1数值表达式

% 整型变量

$ 字符串

+ 加法运算符

- 减法运算符

乘法运算符

/ 除法运算符

^ 乘方运算符

2关系运算符

= 等于

> 大于

< 小于

>= 大于或等于

<= 小于或等于

<> 不等于

3逻辑运算符

AND 逻辑与

OR 逻辑或

NOT 逻辑非

4特殊符号

; 控制PRINT语句以紧凑格式输出

, 控制PRINT语句以换行格式输出

: 分隔一行中并联语句

INPUT语句提示符

] GVBASIC命令提示符(表示GVBASIC处于编辑状态并等待用户输入命令)

23 GVBASIC语言中定义了哪几种数据类型

解答: GVBASIC定义了两种数据类型

(1)常规整型数: 范围从-32768到+32767, 通常正号可以省略,类型声明符为%, 例如: A% 就表示变量为整型

(2)实型变量: 范围从-10E+30,10E+30

24 GVBASIC其它规定

变量名最长: 16

最大行号: 9999

25 变量,数组定义

LET 将值赋给变量

SWAP 交换两下变量的值

DIM 定义数组

READ 将DATA语句中的下一个数据项赋给指定的变量

DATA 指定要读入数组的一组数据

RESTORE 指定为读入数据所用的下一个DATA语句

范例:随机产生10个二位整数,放入数组a,从中选出一个最大的和最小的数打印出来(数组的应用)

]10 CLS

]20 DIM A(10)

]30 m=100

]40 n=-100

]50 FOR I=1 TO 10

]60 A(I)=INT(RND90)+10

]70 PRINT A(I);

]80 NEXT I

]90 FOR I=1 TO 10

]100 IF A(I)>N THEN N=A(I)

]110 IF A(I)<M THEN m=A(I)

]120 NEXT I

]130 PRINT "最大数 N=";n,"最小数 M=";m

]140 END

26 流程控制

GVBASIC提供了较常用的几种流程控制语句

GOTO

IFTHEN/GOTOELSE

ONGOTO n1,n2,n3

范例:1编制程序将24小时计时法转成12小时计时法

]10 REM 转换计时法

]20 INPUT HOUR24,MINTUE

]30 IF HOUR24<0 OR HOUR24>23 THEN 60

]40 IF HOUR24<=12 THEN HOUR12=HOUR24: PRINT "现在时间是:";HOUR12;":";MINTUE;"am"

]50 IF HOUR24>12 THEN HOUR12=INT(HOUR24/2): PRINT HOUR12;MINTUE;"pm"

]60 END

27循环结构语句

WHILEWEND 当给定的条件为真时,执行循环语句中的循环体

FORNEXT 根据指定的次数执行循环体

范例1:

打印九九乘法表

10 REM 乘法表

20 FOR A=1 TO 9

30 FOR B=A TO 9

40 PRINT A;"";b;"=";AB,

50 NEXT B

60 NEXT A

70 END

28 过程及函数

DEF FN 定义用户自定义函数

GOSUBRETURN 分运支到当前程序模块中的了例程

ONGOSUB

29 数学运算函数和语句

ABS() 返回数的绝对值

ATN() 返回用弧度表示的反正切值

COS() 返回弧度的余弦

EXP() 返回e的指定次幂

INT() 返回不大于给定数的最大整数

LOG() 返回一个数值的自然对数

RND() 产生0-1之间的随机数

SGN() 返回数的符号值

SIN() 返回弧度的正弦

SQR() 返回数的平方根

TAN() 返回弧度的正切

210 字符串

一,字符串常量

字符是指单个字母,数字或其他特殊符号及文曲星中的图形,字符串是系统允许使用的若干个字符构成的序列,也称为字符串常量一个字符串一般是双引号括起来的一串字符

二 字符串大小的比

在计算机内部(文曲星内部),所有字符都是以ASCII码表示的,比较两下字符的大小,就是比较它们的ASCII码值的大小

三 字符串比较的规律

1同规格的字母比较,按字母的顺序排,后面的大。

2大小写字母的比较,小写字母大于大写字母

3数字字符比较,按数值的大小排,数值大的大

4字母与数字比较,数字(0-9)的代码均小于字母(A-Z)的代码

5空格比数字,标点,字母等常见符号都小

四 字符串处理的函数及语句

GVBASIC语言知识要点:

ASC() 返回字符或字符串第一个字符的ASCII码

CHR$() 返回指定的ASCII码对应的字符

LEFT$() 返回从字符串左边开始的指定数目的字符

LEN() 返回字符串的长度

MID$() 返回从字符串指定位置开始的指定数目字符

RIGHT$() 返回从字符串右端开始的指定数目的字符

STR$() 返回把数值型数据转换为字符型后的字符串

VAL() 把一个数字字符串转换为相应的数值

范例:

输入一串字符,将它的内容按下列的密码规则转换为明码输出

密码: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

明码: F L Q C O S N Z E Y V R X H T B W A J D M I G U P K

其余字符都不变换

例如: 输入: V BVZI VO KILJ UXDN

输出: I LIKE IT VERY MUCH

程序如下

]10 CLS

]20 X$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

]30 Y$="FLQCOSNZEYVRXHTBWAJDMIGUPK"

]40 INPUT Z$

]50 FOR I=1 TO LEN(Z$) '将该密码从左到右逐个处理

]60 A$=MID$(Z$,I,1) '取出第I个字符放入A$中

]70 FOR J=1 TO 26 ' 寻找密码字符在X$中的位置

]80 IF A$=MID$(X$,J,1) THEN 100

]90 NEXT J

]100 IF A$=MID$(X$,J,1) THEN PRINT MID$(Y$,J,1); ELSE PRINT A$; '若找到,转明输出,则否显示原字符

]110 NEXT I

]120 END

]RUN

如果输入: V BVZI VO KILJ UXDN

输出结果: I LIKE IT VERY MUCH

211简单输入/输出

CLS 清除屏幕

INKEY$ 从键盘读取一个字符

INPUT 从键盘读取输入

LOCATE 把光标定位到指定的行,列

PRINT 从屏幕当前光标位置显示数值,字符串或数据

SPC() 在PRINT语句中跳过指定个数的空格

WRITE 把数据输出到屏幕或文件

范例: 产生一个动态的字符

]10 FOR I=1 TO 10

]20 N=I

]30 LOCATE 3,N

]40 PRINT "GO!"

]50 FOR J=1 TO 100 /空循环起延时作用/

]60 NEXT J

]70 CLS /擦除运动轨迹/

]80 NEXT I

]90 END

RUN /显示从左到右运动GO!/

212 图形

CIRCLE 在屏幕指定位置画圆

DRAW 在屏幕指定位置画点

LINE 画直线或矩形

BOX 画矩形

ELLIPSE 画椭圆

213 声音

BEEP 使扬声器发出一个短促的声音

PLAY 演奏指定的音乐

214 文件

EOF() 当文件指针位于文件结尾时返回-1(真)

INPUT # 从顺序文件中读取数据

OPEN 打开文件

WRITE 把数据写入顺序文件

CLOSE 关闭数据文件

LSET 向缓冲区分配的变量赋值,并做左对齐调整

LOF 返回随机文件长度

GET 从指定文件读取指定记录放入缓冲区

PUT 向指定文件的指定记录写入缓冲区内容

FIELD 指定缓冲区大小分配缓冲区变量

COPY 复制文件

范例:

建立一个数据文件,并用WRITE#语句将5个人的姓名和年龄输出给该文件,然后程序将该文件关闭,再次将它打开用于输入,并把这5个记录读回到程序中,并显示到屏幕上

]10 CLS

]20 OPEN "TESTTXT" FOR OUTPUT AS #1

]30 PRINT "输入5个姓名,年龄"

]40 FOR I=1 TO 5

]50 INPUT NAME$,AGE%

]60 WRITE #1,NAME$,AGE%

]70 NEXT I

]80 CLOSE #1

]90 OPEN "TESTTXT" FOR INPUT AS #1

]100 PRINT "你输入的姓名,年龄如下:"

]110 FOR I=1 TO 5

]120 INPUT #1,NAME$,AGE%

]130 PRINT NAME$,AGE%;

]140 NEXT I

]150 CLOSE #1

]160 END

这里有详细内容:

以上就是关于基于MATLAB的FIR低通滤波器程序加权系数全部的内容,包括:基于MATLAB的FIR低通滤波器程序加权系数、matlab 如何消除信号的高频分量、matlab2013中newff的参数是哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/9667727.html

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

发表评论

登录后才能评论

评论列表(0条)

保存