




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB实验指导书 王海燕 石油大学计通学院通信工程系 2008年9月 实验一 熟悉MATLAB环境 实验目的 1 熟悉MATLAB主界面 学会常用的窗口的操作 2 学会简单的矩阵输入 3 熟悉MATLAB基本语句的使用 矩阵与向量的基本运算 实验原理 1 用户第一次使用MATLAB时 可通过 demo命令 启动MATLAB的演试程序 领略MATLAB所提供的强大的运算与绘图功能 也可以键入help进行进一步了解 2 MATLAB 是以矩阵作为基本编程单元的一种程序设计语言 它提供了各种矩阵的运算与操作 并有较强的绘图功能 在MATLAB中输入矩阵最方便的的方式是直接输入矩阵的元素 其方法为 1 用中括号 把所有矩阵元素括起来 2 同一行的不同数据元素之间用空格或逗号间隔 3 用分号 指定一行结束 4 也可以分成几行进行输入 用回车符代替分号 5 矩阵元素可以是任何matlab表达式 系统将自动计算结果 可以是实数 也可以是复数 复数可用特殊函数i j 输入 3 MATLAB语言最基本的赋值语句结构为 变量 表达式 表达式由操作符或其它字符 函数和变量名组成 表达式的结果为一个矩阵 显示在屏幕上 同时输送到一个变量 ans为默认 中并存放于workspace工作空间中以备调用 实验内容 1 1 用空格或逗号输入矩阵A 1 2 3 4 5 6 7 8 9 或A 1 2 3 4 5 6 7 8 9 2 试用回车代替A中的分号 观察输出结果 要求 总结矩阵的输入 2 输入矩阵 B 9 8 7 6 5 4 3 2 1 C 4 5 6 7 8 9 1 2 3 要求 1 说明 的作用 2 给出查看B及C的结果的方法 3 用edit或选择File new菜单中的M file进入编辑器 输入 Base 9 8 7 6 5 4 3 2 1 Base info Base 1 保存为Base m文件 并通过Debug中的run命令 或F5 运行之 观察有何异常现象 要求 解释异常现象的原因 4 打开Workspace窗口 学习save及load命令的使用 1 用save命令将上述输入的A B C三个变量存入data或data mat文件 2 通过Current Directory查找data 2 然后使用clc及clear 命令 3 最后通过load data 或data mat 命令 可通过向上的方向键找到上条save命令再修改成load命令的方法 将变量A B C调入Workspce 4 执行命令A B C 要求 1 观察使用上述命令后Workspce的变化 2 使用命令save data new A B ascii 或ASCII 改变存储格式 重复上述过程 第2步查找data new 第3步load data new 第4步改为A B 观察Workspce显示结果的不同 3 查看data new 在data new中取出A的值 实验报告要求 针对实验内容中的各项要求 做出总结 给出实验报告 实验二 MATLAB数值运算及绘图功能 实验目的 1 掌握MATLAB特殊函数创建矩阵及利用已有矩阵创建新矩阵的方法 2 掌握矩阵的操作 矩阵之间的运算方法 3 学会使用常用的几种矩阵函数进行简单的问题求解 4 掌握plot基本绘图语句的使用 实验原理 一 利用MATLAB特殊函数创建矩阵 x a b x linspace a b n zeros m n ones m n eye m n 等 randint m n m n 0 1等概率随机阵 rand m n m n 0 1 间均匀分布随机阵 randn m n m n 均值为0 方差为1的标准正态分布随机阵 二 矩阵的操作 1 矩阵中元素的表示 一是用两个下标来表示矩阵元素A i j 二是采用矩阵元素的索引值来引用矩阵元素 A index 称序号 索引 表示法 2 矩阵中元素的提取和修改 1 矩阵元素的提取 矩阵A的第r行 A r 矩阵A的第r列 A r 取矩阵A的第i1 i2行 第j1 j2列 构成新矩阵 A i1 i2 j1 j2 A的第i1 i2行 构成新矩阵 A i1 i2 删除A的第j1 j2列 构成新矩阵 A j1 j2 将矩阵A和B拼接成新矩阵 A B A B 2 矩阵元素的修改 可以利用下标对矩阵元素进行修改 可用find函数修改 3 矩阵中元素的数学运算 元素取整函数 round A 四舍五入取整 fix A 将矩阵A中元素按离0近的方向取整 floor x 向负无穷方向取整 即取不足整数 ceil x 向正无穷方向取整 即取过剩整数 4 矩阵的一些特殊操作 旋转与变形 矩阵的变维 a 1 12 b reshape a 3 4 c zeros 3 4 c a 矩阵的变向 rot90 旋转 fliplr 左右翻 flipud 上下翻 矩阵的抽取 diag D 取D矩阵的主对角元素 X diag v 以向量v为主对角线元素 其余元素为0构成矩阵X a1 diag A 1 取 A 阵 第一上对角线 的元素 A1 diag a1 1 产生以 a1 数组元素为 第一下对角线 元素的二维数组 矩阵的扩展 repmat D 1 3 在水平方向 铺放 三个D 阵 三 矩阵之间的运算 1 矩阵乘法 A B 只有当前一矩阵的列数和后一矩阵的行数相同或者其中一个为标量时才能进行 2 矩阵除法 运算符有两种 左除 和 右除 两矩阵相除 主要用于方程组求解 A x B的解为x A B x A B的解为x B A 要解上述的联立方程式 可利用矩阵左除 做运算 即 X A B 左除时要求A B的行数相等 四 常用的几个矩阵函数 n numel A 计算矩阵A中元素的个 n length a 计算向量中元素的个数 m n size A 返回矩阵的行列数 size A 1 返回矩阵的行数 size A 2 返回矩阵的列数 max min 各列最大 最小值 如 Y I max A 返回各列最大值Y及最大值在各列的位置 mean 各列平均值 sum各列求和 std各列标准差 var各列方差 sort各列递增排序 实验内容 1 依 a d 的指示 输入下列的矩阵 A 5 0 5 B 0 2 i 3 2i C 1 2 3 0 5 0 2 i 0 5 4i 5 10 15 4 0 4 3 2i 5 4i 0 3 6 9 a 使用 diag 函数相加的形式 输入A矩阵 b 使用复数矩阵的两种方法输入B矩阵 观察其显示结果 c 利用冒号 输入C矩阵 d 利用 zeros预赋值后再输入行向量的方法 输入C矩阵 要求 写出矩阵输入的MATLAB表达式 2 写出下列命令的运算结果 然后验证 1 A eye 2 5 5 11 3 a 1 2 4 5 b a 2 m find m 7 3 使用矩阵的除法 或 及利用函数inv解下列联立方程 验证结果是否相同 选做 4 利用randn函数建立3 3的矩阵 a 使用函数sum 分别求此矩阵第一列的和 第三行的和 b 使用函数max 找出此矩阵中 最大的元素 5 利用randint产生长为10的等概0 1二进制序列 要求按行的顺序读入4 4 不足的补零 的方阵并按列的顺序读出原序列交织后的序列 6 按如下要求 绘制两条曲线 一条是余弦曲线 另一条是按100Hz抽样频率对余弦曲线进行抽样得到的离散序列 设t的时长为0 1s 要求 1 在同一窗口中使用hold on 命令绘出上述两条曲线 并设置图形属性如下 连续曲线 黑色 实线 抽样序列 红色 虚线 宽为3个象素 图题为 连续余弦曲线及其抽样序列 并加图例 2 使用subplot命令绘出上述两条曲线 3 交互式绘图方式将图题改为 余弦曲线 7 画出如图所示单极性非归零码传输码型的示意图 单极性非归零码 用电平1表示二元信息中的 1 用电平0表示二元信息中的0 电平在整个码元的时间里不变 记作NRZ码 波形如图1所示 要求 1 因为要用离散的点来表示连续的码元1或0 需给出码元的采样点数 如sam num 300 2 根据采样点数确定采样时间间隔 从而表示图中6个码元总时间的向量t 如t 0 1 sam num 6 3 0 或 1 码元的幅值可用函数zeros和ones产生 4 确定图示坐标axis的各参数 5 用text命令在每个码元的中间位置处标记出各码元对应的二元信息1或0 要求 FontWeight bold FontSize 14 实验报告要求 1 写出每一实验的设计过程及实验结果 2 总结实验 写出上机收获与体会 实验三 MATLAB程序设计基础 实验目的 1 熟悉MATLAB的数据结构 2 熟悉流程控制语句的使用 搞清MATLAB中循环体与C语言的不同 3 掌握脚本与函数文件的编程方法 4 进一步掌握绘图语句的使用 实验原理 一 MATLAB的数据类型 在MATLAB中有六种常用基本数据类型 double 双精度数值 char 字符 sparse 稀疏数据 一般用于处理稀疏矩阵 storage 存储型 只用于内存的有效存储 cell 单元数组 struct 结构 一般只在大型程序中使用 在MATLAB中 所有的数都用double浮点双精度类型来存储和运算 因而省略了定义类型的语句 编程时无需去思考分辨 也减少了错误 当然对于那些本来要用一两个字节来表示的变量来说 这种做法浪费内存 又降低了运算速度 但用牺牲 存储 空间和 运算 时间来换取人机交互友善性的战略被证明是有效的 它形成了科学计算语言的特色 使人们不在编程的细节上花精力 而把注意力集中到科学计算的方法和建模合理性等大问题上去 二 MATLAB的流程控制语句 与C语言类似 MATLAB程序的控制结构也有顺序结构 选择结构和循环结构三种 另外还有一种试探结构 由于MATLAB以矩阵为运算单位 所以在for 和while循环结构及分支结构的使用上与C略有不同 这是特别要注意的 希望通过本次实验加以理解 1 for循环的格式 for循环可接受有效维数的数组作为循环变量 for x array commands end For循环语句的执行过程 当循环变量为矩阵时 其执行过程是从矩阵的第一列开始 依次将矩阵的各列之值赋值给变量 然后执行语句组中的语句 直到最后一列 2 switch 分支结构的格式 switch switth expr分支条件 数值或字符串 case 数值 或字符串 常量表达式1 case 数值 或字符串 常量表达式case expr2 数值 或字符串 常量表达式case expr3 case 数值 或字符串 常量表达式N otherwise end 三 MATLAB的m文件 m文件是由MATLAB语句构成的ASCII码文件 用户可以用普通的文本编辑把一系列MATLAB语句写进一个文件里 给定文件名 确定文件的扩展名为 m 并存储 m文件可分为两种 1 脚本文件 Scripts 也称命令文件 是由用户为解决特定的问题而编制的 2 函数文件 Function 子程序 可由用户编写 但它必须由其它m文件来调用 实验内容 1 按要求给出结果 1 若有s input Please input a 给出运行时错误的输入方式 A 2 B John C 1 2 3 4 D John 2 A dec2bin 7 4 3 xf 4 3 0 0 for k 0 2 xshift k 1 zeros 1 k xf 1 end k end xshift 2 使用switch语句编写DTMF Dual Tone Multi Frequency 拨号音编码时域波形仿真程序 说明 1 一个双音多频电话机可以对12个按键编码 每个码都是两个单频正弦信号之和 例如 按键 5 由两个频率分别为770Hz和1336Hz的正弦信号组成 按键 分别由两个频率为941Hz和1447Hz的正弦信号组成 这两个单频正弦信号分别来自两个频率组 即列频率组 或称低频群 与行频率组 或称高频群 它们与每个按键的对应关系如下图所示 图1按键式拨号盘的配置 2 DTMF信号的指标是 在传送过程中每个按键数字占用100ms 其中DTMF必须存在至少40ms 且不得多于55ms 100ms里的其余时间是静声 无信号 要求 1 每输入一个数字给出相应的波形 key input please input key valuve 0 9 or or s 2 fl表示低频率 fh表示高频率 3 根据所拨数字用switch给定fl及fh的值 4 主要参数如下 fs 8000 语音信号采样值 dt 1 fs t 0 dt 0 05 按要求给出DTMF信号的时长 x 0 9 cos 2 pi fl t cos 2 pi fh t sound x 8000 按时长仿真发出的拨号音 plot t x zoom xon grid on 3 利用如下两种方法 将随机产生的同一帧数据 如 randint 1 3 3 或randint 1 4 5 重新换位输出以实现交织 方法一 利用随机数产生函数alpha randperm data length 实现交织 说明 data 1 1 1 0 1 data length 5 alpha randperm data length 输出alpha为随机生成的5个数 若alpha 5 3 1 2 4 可认为是索引号 data inter data alpha 随机交织后的输出帧为data inter 1 1 1 1 0 即data的第5位是data inter的 第1位 依次类推 方法二 仿照方法一 编写函数alpha2 lincol inter data length m n 使之产生按行读入 按列读出的序号 再利用data inter data alpha2 完成一帧数据的交织 4 试编写一函数 使之具有如下功能 将随机产生的二进制序列按每2位 00 0 01 1 10 2 11 3 3位或4位二进制位与十进制相对应的关系转变成相应十进制数序列 function NumTrans fun bin2dec Xframe COdelen Xframe随机产生的二进制序列 COdelen表示码长2 3 4等 NumTrans返回转变后的十进制序列 Xlen length Xframe 二进制信号序列长度 NumTrans zeros 1 Xlen COdelen 生成一行向量放转变成十进制的数 5 将实验二中单极性非归零码的图形显示程序改写成函数形式 function snrz data sam num 输入一段二进制0 1码作为信源data 可在运行调用函数snrz前使用data input 请输入所要传输的二进制0 1序列作为信源data 或使用randint随机产生0 1序列 给出码元的采样点数sam num 求信源的二进制单极性序列的输出序列y data 实验报告要求 1 写出每一实验的设计过程 2 总结实验 写出相应的体会 3 总结程序调试常用技巧 实验四 MATLAB在信号与系统中的应用 波形合成与分解 实验目的 1 通过本实验熟悉周期信号的合成 分解原理 进一步了解信号频谱的含义 2 加深对傅里叶级数及Gibbs现象的理解 3 掌握hold on图形保持命令的使用 实验原理 1 傅里叶级数 按傅里叶级数的原理 任何周期信号都可以用一组三角函数的线性组合表示 也就是说 可以用一组正弦波或余弦波来合成任意形状的周期信号 2 Gibbs现象 对于具有不连续点 跳变点 的波形 所取级数项数越多 近似波形的均方误差虽可减少 但在跳变点处的峰值不减小 此峰值随项数增多而向跳变点靠近 而峰值趋于跳变值的9 3 周期信号波形的合成与分解的MATLAB实现 例 已知方波的周期为 方波信号的角频率为 其傅立叶级数展开式为 它只含有1 3 5 等奇次谐波分量 设计MATLAB程序 演示由谐波合成方波的情况 并观察Gibbs现象 分析 分别计算 直到N次谐波 并做图 实验内容 有一周期为2 幅度为1的周期锯齿波信号 其三角形式傅立叶系数 故其三角形式的傅立叶级数形式为 1 做出N 10时各次谐波累计的图形 2 分别做出一个周期内级数项数取N 31 N 81时的近似波形 比较一个周期内的合成信号与原信号的异同 并观察Gibbs现象 实验报告要求 1 简述实验目的及原理 2 总结实验 给出主要结论 实验五 MATLAB在通信系统仿真中的应用 实验目的 1 掌握信源随机二进制信号的产生方法 2 了解数字信号复数映射的方法 3 了解信道编码的仿真方法 4 了解噪声信道和多径信道的仿真方法 5 熟悉利用MATLAB仿真通信系统的基本过程 实验原理 一 数字通信系统基本组成 常用的数字通信系统基带传输模型如图5 1所示 5 1数字通信系统基带传输模型 二 数字通信系统基本传输的仿真 根据上述模型需完成以下仿真过程 1 随机二进制0 1信源信号的产生 随机信号经常用来模拟噪声 错误或信号源 除了MATLAB的内置函数rand和randn 通信工具箱还提供randint函数 格式如下 out randint m n 功能说明 产生m n的矩阵 其元素相互独立 取值范围为1或0 取值是等概的 2 信道的仿真方法 1 高斯白噪声信道 高斯过程又称正态随机过程 它是一种普遍存在和重要的随机过程 在通信信道中的噪声 通常是一种高斯过程 故又称为高斯噪声 利用awgn函数可为信号叠加高斯白噪声 其常见的使用格式说明如下 y awgn x snr adds white Gaussian noise to the vector signal x The scalar snr specifies the signal to noise ratio per sample in dB If x is complex then awgn adds complex noise This syntax assumes that the power of x is 0 dBW y awgn x snr measured It is the same as y awgn x snr except that awgn measures the power of x before adding noise 本次实验采用第二种方法 2 多径衰落信道 在仿真过程中 若以抽样的序列来表示信号 多径的影响可以表示如下 其中是第i条路径的衰落值 可以用一个信道向量表示为 其中表示延迟个码元信道的平均衰落 举例说明 用信道向量 1 0 0 0 0 0 5 来表示莱斯多径 它意味着电磁波通过一个没有延迟 没有衰落的信道 和一个延迟为5个码元 衰落系数为0 5的信道 在这样的两径信道里 接收信号为 在仿真噪声及多径对信号的影响 可先对信号加噪 再做多径处理 表示为 其中是信道向量决定的滤波器 在MATLAB中可使用函数filter Multipath 1 BaseSignal 给信号BaseSignal按Multipath所代表的多径向量加多径 3 数字信号的调制映射 数字信号的调制映射的基本思想是将二进制序列 分成长度为n 1 2 4 的组 分别对应BPSK QPSK 16QAM 然后再把这些二进制 序列组分别映射为星座图中对应点的复数表示 其映射采用如图5 2所示的星座映射图 由图5 2可得知 BPSK调制将0和1映射为2个点 正交振幅调制 16QAM 是将每四位比特流映射映射成星座坐标图中的16个点中的一个 QPSK将每两位比特流映射成星座坐标图中的4个点中的一个 其中有GRAY mapping 和 Natural mapping Gray mpping表示按格雷码方式映射 Natural mapping
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国银行2025滨州市秋招笔试英语题专练及答案
- 交通银行2025山南市秋招笔试专业知识题专练及答案
- 工商银行2025西安市秋招笔试EPI能力测试题专练及答案
- 建设银行2025驻马店市秋招半结构化面试题库及参考答案
- 2025行业数字化转型成功案例研究
- 工商银行2025吉林市结构化面试15问及话术
- 邮储银行2025海西蒙古族藏族自治州秋招结构化面试经典题及参考答案
- 有色金属中间产品供需服务合同2篇
- 建设银行2025神农架林区秋招笔试综合模拟题库及答案
- 邮储银行2025毕节市金融科技岗笔试题及答案
- 四川省成都龙泉中学2025-2026学年英语高三第一学期期末学业水平测试模拟试题
- 保管员工勤技师综合测试试卷及参考答案
- (新教材)2025年秋期部编人教版二年级上册小学语文全册教案(教学设计)(新课标核心素养教案)
- 有限空间监理实施细则
- 手术室无菌技术 课件
- ISO 31000-2018 风险管理标准-中文版
- 六年级数学上册教案6:分数乘法:分数乘小数-人教版
- 小学综合实践六年级上册第1单元《考察探究》教材分析及全部教案
- 教育评价学全套ppt课件完整版教学教程
- 乙二醇化学品安全技术说明书MSDS
- 二级建造师建筑工程实务模拟题答案
评论
0/150
提交评论