北京邮电大学MATLAB实验报告

合集下载

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。

利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。

2.选择File菜单下New下的Model命令,新建一个simulink 仿真环境常规模板。

3.在simulink仿真环境下,创建所需要的系统。

以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。

点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。

2)改变模块参数。

在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。

其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。

3)建立其它传递函数模块。

按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。

例:比例环节用“Math”右边窗口“Gain”的图标。

4)选取阶跃信号输入函数。

用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。

5)选择输出方式。

用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。

北京邮电大学_dsp_matlab实验报告

北京邮电大学_dsp_matlab实验报告

数字信号处理实验报告实验名称:数字信号处理实验学生姓名:班级:班内序号:1.实验要求假设信号x(n) 由下述信号组成:请选择合适的长度N 和窗函数,用DFT 分析其频谱,得到清楚的三根谱线。

2.实验代码和实验结果N = 1000; % Length of DFTn = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);k=[0:1:N-1];subplot(5,1,1);stem(k,abs(Xk(1:1:N)));title('DFT x(n)');xlabel('k');axis([140,240,0,6])subplot(5,1,2);stem(k, abs(Xk(1:1:N)),'r');%画出sin(0.3npi)-cos(0.302npi-pi/4) axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,3);stem(k, 1000*abs(Xk(1:1:N)),'g');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');subplot(5,1,4);stem(k,0.01*abs(Xk(1:1:N)),'k');%画%sin(0.3npi)-cos(0.302npi-pi/4)axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,5);stem(k, 10*abs(Xk(1:1:N)),'m');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');结论:由上图及过程可知,当DFT变换长度为1000时所得到的谱线非常理想。

MATLAB实验报告(打印版)

MATLAB实验报告(打印版)

MATLAB实验报告班别:09电气3班姓名:李嘉明学号:200924122301实验一/二 MATLAB的基础操作3.自定义一个变量,然后分别用8种不同的数字显示格式显示查看。

>> a=[1.1,1.2,1.3;1.4,1.5,1.6;1.7,1.8,1.9]a =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.9000>> format long>> aa =1.100000000000000 1.200000000000000 1.3000000000000001.400000000000000 1.500000000000000 1.6000000000000001.700000000000000 1.800000000000000 1.900000000000000>> format short e>> aa =1.1000e+000 1.2000e+000 1.3000e+0001.4000e+000 1.5000e+000 1.6000e+0001.7000e+000 1.8000e+000 1.9000e+000>> format long e>> aa =1.100000000000000e+000 1.200000000000000e+000 1.300000000000000e+0001.400000000000000e+000 1.500000000000000e+000 1.600000000000000e+0001.700000000000000e+000 1.800000000000000e+000 1.900000000000000e+000 >> format hex>> aa =3ff199999999999a 3ff3333333333333 3ff4cccccccccccd3ff6666666666666 3ff8000000000000 3ff999999999999a3ffb333333333333 3ffccccccccccccd 3ffe666666666666>> format +>> aa =+++++++++>> format rat>> aa =11/10 6/5 13/107/5 3/2 8/517/10 9/5 19/10>> format short>> aa =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.90005、己举例比较给矩阵的全行赋值,取出矩阵中某一个或几个元素,然后组成一个新的矩阵。

北邮 通信网实验报告

北邮 通信网实验报告

北京邮电大学实验报告通信网理论基础实验报告学院:信息与通信工程学院班级:2013211124学号:姓名:实验一 ErlangB公式计算器一实验内容编写Erlang B公式的图形界面计算器,实现给定任意两个变量求解第三个变量的功能:1)给定到达的呼叫量a和中继线的数目s,求解系统的时间阻塞率B;2)给定系统的时间阻塞率的要求B和到达的呼叫量a,求解中继线的数目s,以实现网络规划;3)给定系统的时间阻塞率要求B以及中继线的数目s,判断该系统能支持的最大的呼叫量a。

二实验描述1 实验思路使用MATLAB GUITOOL设计图形界面,通过单选按钮确定计算的变量,同时通过可编辑文本框输入其他两个已知变量的值,对于不同的变量,通过调用相应的函数进行求解并显示最终的结果。

2 程序界面3 流程图4 主要的函数符号规定如下:b(Blocking):阻塞率;a(BHT):到达呼叫量;s(Lines):中继线数量。

1)已知到达呼叫量a及中继线数量s求阻塞率b 使用迭代算法提高程序效率B(s,a)=a∙B(s−1,a) s+a∙B(s−1,a)代码如下:function b = ErlangB_b(a,s)b =1;for i =1:sb = a * b /(i + a * b);endend2)已知到达呼叫量a及阻塞率b求中继线数量s考虑到s为正整数,因此采用数值逼近的方法。

采用循环的方式,在每次循环中增加s的值,同时调用 B(s,a)函数计算阻塞率并与已知阻塞率比较,当本次误差小于上次误差时,结束循环,得到s值。

代码如下:function s = ErlangB_s(a,b)s =1;Bs = ErlangB_b(a,s);err = abs(b-Bs);err_s = err;while(err_s <= err)err = err_s;s = s +1;Bs = ErlangB_b(a,s);err_s = abs(b - Bs);ends = s -1;end3)已知阻塞率b及中继线数量s求到达呼叫量a考虑到a为有理数,因此采用变步长逼近的方法。

北邮数字信号处理Matlab仿真实验-实验报告

北邮数字信号处理Matlab仿真实验-实验报告

北京邮电大学数字信号处理<MatLab仿真试验>实验报告班级: xxx学院: xxx实验室: xxx 审阅教师:姓名(班内序号): xxx 学号: xxx实验时间: xxx评定成绩:目录实验一:数字信号的FFT 分析 (2)1、实验内容及要求 (2)(1)离散信号的频谱分析 (2)(2)DTMF信号频谱分析 (2)2、实验目的 (2)3、分析设计 (2)(1)离散信号的频谱分析 (2)(2)DTMF信号频谱分析 (3)4、设计结果 (4)(1)离散信号的频谱分析 (4)(2)DTMF信号频谱分析 (4)实验二:DTMF 信号的编码 (5)1、实验内容及要求 (5)2、实验目的 (6)3、分析设计 (6)4、设计结果 (7)实验三:FIR 数字滤波器的设计和实现 (8)1、实验内容及要求: (8)2、实验目的 (8)3、分析设计 (8)4、设计结果 (13)实验一:数字信号的 FFT 分析1、实验内容及要求(1)离散信号的频谱分析设信号00010450303024().*cos(.)sin(.)cos(.)x n n n n ππππ=+--此信号的0.3pi 和0.302pi 两根谱线相距很近,谱线0.45pi 的幅度很小,请选择合适的序列长度N 和窗函数,用DFT 分析其频谱,要求得到清楚的三根谱线。

(2)DTMF 信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。

2、实验目的通过本次实验,应该掌握:(a)用傅立叶变换进行信号分析时基本参数的选择。

(b)经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT )后信号频谱上的区别,前者DTFT 时间域是离散信号,频率域还是连续的,而DFT 在两个域中都是离散的。

(c)离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。

实验一 MATLAB基本操作及运算(含实验报告)

实验一 MATLAB基本操作及运算(含实验报告)

实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。

三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。

注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。

1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。

(参考diag)。

111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。

北邮Matlab实验报告概论

北邮Matlab实验报告概论

《数字信号处理》Matlab 实验一.实现重叠相加和重叠保留算法,完成线性卷积的分段计算(可任意指定()x n 及()h n );1、 对算法的概括性说明;1)重叠相加法重叠相加法是将待过滤的信号分割成长为N 的若干段,每一段都可以和有限时宽单位取样响应作卷积,再将过滤后的各段重叠相加。

具体算法实现:建立缓存序列,每次输入N 点序列,通过计算x(n)和h(n) 的循环卷积实现线性卷积运算,将缓存的M-1点序列和卷积结果相加,并输出前N 点作为计算结果,同时缓存后M-1点,如此循环,直至所有分段计算完毕,则输出序列y(n)为最终计算结果。

2)重叠保留法重叠保留法相当于将x l (n )和h(n )作循环卷积,然后找出循环卷积中相当于线性卷积的部分。

在这种情况下,将序列y(n)分为长为N 的若干段,每个输入段和前一段有M-1个重叠点 。

此时只需要将发生重叠的前M-1个点舍去,保留重叠的部分并输出,则可获得序列y(n)。

2、源代码及流程图;2.1 源代码:function[y] = overlap_add(x,h,N)M = length(h);if N<MN = M+1;endL = M+N-1;Lx = length(x);T = ceil(Lx/N);t = zeros(1,M-1);x = [x,zeros(1,(T+1)*N-Lx)];y = zeros(1,(T+1)*N);for i = 0:1:Txi = i*N+1;x_seg = x(xi:xi+N-1);y_seg = circular_conv(x_seg,h,L);y_seg(1:M-1) = y_seg(1:M-1)+t(1:M-1); t(1:M-1) = y_seg(N+1:L);y(xi:xi+N-1) = y_seg(1:N);endy = y(1:Lx+M-1);endfunction[y] = overlap_save(x,h,N)Lx = length(x);M = length(h);if N<MN = M+1;endL = N+M-1;t = zeros(1,M-1);T = ceil(Lx/N);x = [x,zeros(1,(T+1)*N-Lx)];y = zeros(1,(T+1)*N);for i = 0:1:Txi = i*N+1;x_seg= [t,x(xi:xi+N-1)];t = x_seg(N+1:N+M-1);y_seg = circular_conv(x_seg,h,L); y(xi:xi+N-1) = y_seg(M:N+M-1); endy = y(1:Lx+M-1);endfunction[y] = circular_conv(x1,x2,L) X1k = fft(x1,L);X2k = fft(x2,L);Yk = X1k.*X2k;y = ifft(Yk);endn = 0:9;xn = n+1;hn = [1,0,-1];N = 6;y1 = conv(hn,xn)y2 = overlap_add(xn,hn,N)y3 = overlap_save(xn,hn,N)2.2流程图1)重叠相加法2)重叠保留法3、实验结果;4、结合教材3.5.1节作运算量分析;重叠相加法和重叠保留法的算法的时间复杂度均为O(n),空间复杂度均为O(1),二者都具有较好的时间和空间复杂度。

第二次DSP上机实验报告 MATLAB实验报告

第二次DSP上机实验报告 MATLAB实验报告

第二次DSP上机实验报告 MATLAB实验报告第二次DSP上机实验报告 MATLAB实验报告北京邮电大学信息与通信工程学院DSP--MATLAB实验报告实验名称:学生姓名:班级:班内序号:学号:日期:1.实验要求与目的要求:(1)用DFT分析频谱,得到高分辨率频谱清楚的谱线;(2)利用基2时间抽选的FFT算法,计算有限点的DFT,并与理论值相比较。

目的:掌握(a)用傅立叶变换进行信号分析时基本参数的选择。

(b)经过离散时间傅立叶变换(DTFT)和有限长度离散傅立叶变换(DFT)后信号频谱上的区别,前者DTFT时间域是离散信号,频率域还是连续的,而DFT在两个域中都是离散的。

(c)离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。

(d)获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。

2关键算法分析第1页北京邮电大学信息与通信工程学院代码的重点是利用fft函数计算离散序列的DFT,难点是矩阵的加减乘除及乘方中所涉及的matlab语句的特点。

实验代码如下:(1)N=1000;n=(0:N-1);y=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);y=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);XK=fft(y,N);--fft函数两个参数分别是进行DFT变换的序列,及DFT 的长度subplot(3,1,1);stem(n,y);title("时域波形");xlabel("n");ylabel("y");subplot(3,1,2);stem(abs(XK),".");axis([0,500,0,600]);--限定x 轴与y轴的范围title("频域前500点波形");xlabel("k");ylabel("XK");subplot(3,1,3);stem(abs(XK),".");axis([800,900,0,600]);--x轴的范围很小,目的是能看到两条很近的谱线title("频域后500点部分波形");xlabel("k");ylabel("XK");(2)N=25;Q=0.9+j*0.3;n=(0:24);x=Q.^n;WN=exp(-j*2*pi/N);k=(0:24);WK=WN.^k;XK=(1-Q.^N)./(1-Q*WK);stem(XK);---理论值的计算XK1=fft(x,32);--32点基2时间抽选法的计算subplot(3,1,1);stem(n,x);title("时域波形");xlabel("n");ylabel("x");subplot(3,1,2);stem(XK);title("频域理论值");xlabel("k");ylabel("XK");subplot(3,1,3);stem(XK1);title("频域波形");xlabel("k");ylabel("XK1");第2页北京邮电大学信息与通信工程学院3.程序运行结果(1)(2)第3页北京邮电大学信息与通信工程学院4.问题分析这次实验的题目相对简单,编程过程中遇到的问题主要是矩阵的加减乘除及乘方运算所对应的matlab语句的规则和fft函数的使用,fft函数的使用方法通过help语句便可查得,其两个参数:第一个是指进行fft运算的序列,第二个值fft运算的长度。

MATLAB实验报告北京邮电大学

MATLAB实验报告北京邮电大学

Matlab实验报告学院:信息与通信工程学院班级:201321113学号:2013210381班内序号:18姓名:石雪原实验题目1.实现重叠相加和重叠保留算法一.实验原理重叠相加法和重叠保留法的实质都是以逐段地方式通过循环卷积来完成线性卷积的计算。

将输入序列x (n)进行分段,每段长为N,且N>M(M为有限长因果序列h (n)的长度),x (n) 逐段与h (n)进行循环卷积,在重叠保留法中需在x (n)序列首部加入长度为M-1的0序列。

在算法中,在获得N个点的输入后,进行N+M-1点循环卷积计算,之后输出N个点。

通过for循环逐段进行循环卷积,使用FFT和IFFT 计算两个有限长序列的N点循环卷积结果。

二.源代码和流程图重叠相加法代码function [Y]=overpl(x,h,N)Lx=length(x); % 序列长度M=length(h); %h (n )长度x=[x,zeros(1,N-1)];t=zeros(1,M-1);Y=zeros(1,Lx+M-1);a=floor(Lx/N);for k=0:aA=x(k*N+1:k*N+N);y1=fft(A,Lx+M-1); % 利用fft 进行运算y2=fft(h,Lx+M-1);y3=y1.*y2;q=ifft(y3,Lx+M-1);Y(k*N+1:k*N+M-1)=q(1:M-1)+t(1:M-1);Y(k*N+M:k*N+N)=q(M:N);t(1:M-1)=q(N+1:N+M-1);endY(1:Lx+M-1);对应流程图图一:每段利用fft和ifft实现循环卷积图二:对X (n)逐段进行循环卷积然后相加得输出线性卷积结果y (n)重叠保留法代码fun cti on [Y]二overlpsav(x,h,N)Lx=le ngth(x);M=le ngth(h);M仁M -1;L=N-M1;h=[h,zeros(1,N-M)];图x=[zeros(1,M1),x,zeros(1,N-1)];a 二floor ((Lx+M1-1)/(L))+1; Y=zeros(1,N); for k=0:a-1 xk=x(k*L+1:k*L+N); b=fft(xk,N); C=fft(h,N); Z=b.*C;Y (k+1,:)=ifft(Z,N); end Y=Y (:,M:N): Y=( Y(:))'对应流程图装成单列向量再转置成行向量 输出输入数据 x I 各段搭接长 长度及脉冲 —\度M1,有效 响应长度k数据长度L将h 延长 至循环 长度N㈡把x 前面 加上(M- 1)个零各段进 行卷积把 K+1X N 阶输出矩 阵Y 初始 化Y 中各行均去 掉前M-1个样 Z 本,转置后构V成新的Y三.实验结果重叠相加法x=[1,2,3] h二[1,2,3] N=41 5]? 3X] 1 K 12 9 0緒=1 1 10 12 9 0重叠保留法x=[1,2,3,4,5,6,7,8,9,10] h=[1,0,-1] N=4四.结果分析(有关运算量的定量分析结果)有限长因果序列x (n)h (n)的长度分别为N和M直接计算线性卷积y (n),y(n)可视为N个序列的叠加结果,序列长度为M 所以每生成一个序列需完成M次乘法,共需完成MN次乘法运算。

北邮Matlab仿真 实验

北邮Matlab仿真 实验

[键入公司名称]Matlab仿真实验[键入文档副标题]2010211201陈建文102109872012-12-10实验报告主要内容是对3个实验的完成过程的介绍和总结目录数字信号的FFT分析 (2)DTMF信号的编码 (6)FIR数字滤波器的设计和实现 (10)错误分析 (14)经验总结 (15)实验一:数字信号的FFT分析:实验目的:(1)用傅立叶变换进行分析是基本参数的选择。

(2)经过离散时间傅立叶变换和有限长度离散傅立叶变换后信号频谱上的区别,前者DTMF时间域是离散信号,频率域还是连续的,而DFT在两个区域中都是离散的。

(3)离散傅立叶变换的基本原理、特性,以及经典的快速算法,体会快速算法的效率(4)获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时域分析的学习和研究大侠基础。

(5)建立DFT从整体上可看成是有窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如DVD AC3和 MPEG Audio。

实验内容和要求:(1)离散信号的频谱分析:设信号 x(n)=0.001*cos(0.45n*pi)+sin(0.3n*pi)-cos(0.302n*pi-pi/4)此信号的0.3pi和0.302pi的两根频谱线相距很近,谱线0.45pi的幅度很小,请选择合适的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。

(2)DTMF信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(DTMF)拨号数字0——9的数据,采用快速傅立叶变换(FFT)分析这10个号码DTMF拨号是的频谱。

设计思路1:只要将x(n)表达式敲入,再利用fft(x(n),N)函数进行傅立叶变换,之后再用subplot函数进行图形绘制,本题关键在于N的确定,只有合适的大小才能满足题目要求。

代码1:N = 1000; % Length of DFT n = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);xn1=0.001*cos(0.45*n*pi);Xk1 = fft(xn1,N);xn2=sin(0.3*n*pi);Xk2 = fft(xn2,N);xn3=-cos(0.302*n*pi-pi/4);Xk3 = fft(xn3,N);k=[0:1:N/2];subplot(5,1,1);stem(k,abs(xn(1:1:(N/2+1))),'.');title('x(n)');xlabel( 'k');axis([140,240,0,4]);subplot(5,1,2);stem(k,abs(Xk(1:1:(N/2+1))),'r.');title('DFT0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4)');xlabel('k');axis([140,240,0,4]);subplot(5,1,3);stem(k,abs(Xk1(1:1:(N/2+1))),'g.');title('DFpi)');xlab el('k');axis([140,240,0,4]);subplot(5,1,4);stem(k,abs(Xk2(1:1:(N/2+1))),'b');title('DFTsin(0.3*n*pi)');xlabel('k');axis([140,240,0,4]);subplot(5,1,5);stem(k,abs(Xk3(1:1:(N/2+1))));title('DFT -cos(0.302*n*pi-pi/4)');xlabel('k');axis([140,240,0,4]);3 / 15截图 1:从图中可以看出,后边三幅图片的频谱特性还是有比较明显的区别的。

matlab 实验报告

matlab 实验报告

matlab 实验报告Matlab 实验报告引言:Matlab(Matrix Laboratory)是一种强大的科学计算软件,它为科学家、工程师和研究人员提供了一个强大的计算环境。

本实验报告旨在介绍我对Matlab的实验结果和使用体验,以及对其优点和局限性的思考。

一、Matlab的基本功能和特点Matlab是一种高级编程语言和开发环境,它具有广泛的数学和工程计算功能。

通过Matlab,我可以进行矩阵运算、数值计算、数据可视化、算法开发等一系列操作。

Matlab的语法简洁易懂,可以快速实现复杂的计算任务。

此外,Matlab还提供了大量的工具箱,如信号处理、控制系统、图像处理等,使得各种领域的科学研究和工程应用变得更加便捷。

二、实验结果与应用案例在本次实验中,我选择了一个经典的数值计算问题——求解非线性方程。

通过Matlab的数值计算能力,我可以使用不同的迭代方法来求解方程的根。

在实验中,我使用了牛顿迭代法、二分法和割线法来求解方程。

通过对比这些方法的收敛速度和精度,我得出了不同方法的优缺点。

在实际应用中,Matlab可以广泛应用于信号处理、图像处理、数据分析等领域。

例如,在信号处理中,我可以使用Matlab的信号处理工具箱来进行滤波、频谱分析等操作。

在图像处理中,我可以利用Matlab的图像处理工具箱进行图像增强、边缘检测等操作。

这些应用案例充分展示了Matlab在科学计算和工程应用中的重要性和灵活性。

三、Matlab的优点1. 强大的计算功能:Matlab提供了丰富的数学和工程计算函数,可以高效地进行复杂的计算任务。

2. 简洁的语法:Matlab的语法简洁易懂,使得编程变得更加高效和便捷。

3. 丰富的工具箱:Matlab提供了大量的工具箱,覆盖了各种领域的科学计算和工程应用需求。

4. 可视化能力强:Matlab提供了丰富的绘图函数,可以直观地展示数据和计算结果。

四、Matlab的局限性1. 高昂的价格:Matlab是一款商业软件,其价格较高,对于个人用户而言可能不太容易承受。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告MATLAB 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

数学实验报告-专业-班级-姓名-学号-试验1

数学实验报告-专业-班级-姓名-学号-试验1

北京邮电大学世纪学院《数学实验》实验报告班级: 学号: 姓名: 成绩: ______实验一: MATLAB 语言基础一、实验目的1、熟悉MATLAB 语言及系统环境;2、掌握MATLAB 的常用命令;3、学会使用MATLAB 的帮助系统;4、熟悉MATLAB 的基本数据类型及基本运算;5、熟悉MATLAB 的M 文件及类型,能建立、执行和调试M 文件程序;6、熟悉MATLAB 的三种程序结构,能运用三种程序结构和MATLAB 的数学方法功能编程处理一些基本的数学科学计算问题。

二、实验内容、原理、方法、分析及结果1、计算表达式7321ln 7tan19e +÷的值. (程序和结果 5分)解:exp(7)+21^3*log(7)/tan(19)结果ans =1.1998e+0052.、用等间隔冒号法创建一个数组(1,3,5,7,9,11)x =;用函数linspace 创建2到11之间5个等间隔插值点数组y ;用随机生成法生成一个10以内的3阶整数矩阵A . (程序和结果 10分 )解:x=[1,3,5,7,9,11]结果:x =1 3 5 7 9 11解: y=linspace(2,11,5)结果:y =2.0000 4.2500 6.5000 8.7500 11.0000解:x=fix(10*rand(3,3))结果:x =4 3 18 8 20 0 13、设4317⎛⎫= ⎪⎝⎭A,1734⎛⎫= ⎪⎝⎭B,输出矩阵,A B并计算1*=C A B,2.*=C A B,3.^=C A B,4./=C A B,并说明上述4个运算的含义.(程序和结果20分)解:A=[4,3;1,7]B=[1,7;3,4]A=[4,3;1,7];B=[1,7;3,4];C1=A*BA=[4,3;1,7];B=[1,7;3,4];C2=A.*BA=[4,3;1,7];B=[1,7;3,4];C3=A.^BA=[4,3;1,7];B=[1,7;3,4];C4=A/B结果:A =4 31 7B =1 73 4C1 =13 4022 35C2 =4 213 28C3 =4 218712401C4 =-0.4118 1.47061.0000 04、已知312204132-⎛⎫⎪=--⎪⎪-⎝⎭A,264153012-⎛⎫⎪=- ⎪⎪-⎝⎭B,在命令窗口中创建矩阵,A B并对其进行如下操作:(1)提取A 的第3行赋给a ,B 的第1列赋给b ;(2)分别从横向和竖向合并A 和B ;(3)将矩阵A 的第1,2行1,2列交叉处的四个元素值全部修改为2.(4)在前一步的基础上构建矩阵C ,C 的第1,2行分别由A 的1,2行1,2列的元素构成,C 的第3,4行分别由B 的2,3行2,3列元素构成. (程序和结果 20分)5、编写M 命令文件,定义符号函数337y x x =-+,并分别求当1,3,2x =-时的函数值. (程序和结果 10分)6、通过键盘输入卷面成绩:40,65,95,74,83,判断学生成绩的等级. 输出为以下信息:考试分数在[90,100]的显示为“优”,考试分数在[70,89] 的显示为“良”,考试分数在[60,69] 的显示为“中”,其它为“差” (程序和结果 15分)7、设计一个函数求和1111242n ++++调用该函数求n=100,300,500,800时的值. (程序和结果 15分)三、总结(体会、收获、存在的问题、改进等) ( 5分)1、2、......。

北邮scilab通信原理软件实验报告

北邮scilab通信原理软件实验报告

信息与通信工程学院通信原理软件实验报告实验二时域仿真精度分析一、实验目的1. 了解时域取样对仿真精度的影响2. 学会提高仿真精度的方法二、实验原理一般来说,任意信号s(t)是定义在时间区间(-无穷,+无穷)上的连续函数,但所有计算机的CPU 都只能按指令周期离散运行,同时计算机也不能处理这样一个时间段。

为此将把s(t)按区间[-T/2 ,+T/2 ]截短为按时间间隔dert T均匀取样,得到的取样点数为N=T/dert T.仿真时用这个样值集合来表示信号s(t)。

Dert T反映了仿真系统对信号波形的分辨率,越小则仿真的精确度越高。

据通信原理所学,信号被取样以后,对应的频谱是频率的周期函数,其重复周期是1/t;。

如果信号的最高频率为那么必须有才能保证不发生频域混叠失真,这是奈奎斯特抽样定理。

设则称为仿真系统的系统带宽。

如果在仿真程序中设定的采样间隔是,那么不能用此仿真程序来研究带宽大于这的信号或系统。

换句话说,就是当系统带宽一定的情况下,信号的采样频率最小不得小于2*Bs,如此便可以保证信号的不失真,在此基础上时域采样频率越高,其时域波形对原信号的还原度也越高,信号波形越平滑。

也就是说,要保证信号的通信成功,必须要满足奈奎斯特抽样定理,如果需要观察时域波形的某些特性,那么采样点数越多,可得到越真实的时域信号。

三、实验步骤1.将正弦波发生器模块、示波器模块、时钟模块按下图连接:四、实验结果对比分析时钟设置0.01,得到的结果如下:时钟设置0.3,以后得到的结果如下:五、思考题(1)观察分析两图的区别,解释其原因。

答:因为信号周期是1,而第一个图的采样周期是0.01,所以一个周期能采样100个点,仿真出来的波形能较精确地显示成完整波形,而第二个图采样周期是0.3,所以一个周期只有三个采样点,故信号失真了。

(2)将示波器的控制时钟的period的参数改为0.5,观察仿真结果,分析其原因。

结果如下:可见,此时根本没有信号显示了。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告⼀.试验时间:2013/10/15 ⼆.实验地点:⼤楼五楼8号机房三.实验名称:MATLAB 数值计算四.实验⽬的:1.掌握MATLAB 数据对象的特点以及数值的运算规则。

2.掌握MATLAB 中建⽴矩阵的⽅法以及矩阵处理和分析的⽅法。

3.掌握MATLAB 中常量与变量的使⽤及各种表达式的书写规则。

4.熟悉MATLAB 常⽤函数的使⽤以及多项式的运⽤。

⼆.实验内容1. 求下列表达式的值。

(1)z1=2185sin 2e +结果:>> z1=2*sin((85/360)*pi)/(1+eps*eps) z1 =1.3512(2)z2=),x 1(ln 21++x ?-+=5,45.0t *21,2x结果:>> x=[2 1+2*i;-0.45 5] x =2.0000 1.0000 + 2.0000i -0.4500 5.0000 >> z2=1/2*log(x+sqrt(1+x)) z2 =0.6585 0.6509 + 0.4013i -0.6162 1.0041 (3)z3=22.0^3.0^e a e a -×sin(a+0.3)+ln(23.0a +),a=-3.0,-2.9,-2.8,…2.8,2.9,3.0结果:>> a=-3:0.1:3;>> z3=(eps(a*0.3)-eps(a*0.2))/2.0.*sin(a+0.3)+log((a+0.3)/2.0) z3 =Columns 1 through 50.3001 + 3.1416i 0.2624 + 3.1416i 0.2231 + 3.1416i 0.1823 + 3.1416i 0.1398 + 3.1416i0.0953 + 3.1416i 0.0488 + 3.1416i -0.0000 + 3.1416i -0.0513 + 3.1416i -0.1054 + 3.1416i Columns 11 through 15-0.5108 + 3.1416i -0.5978 + 3.1416i -0.6931 + 3.1416i -0.7985 + 3.1416i -0.9163 + 3.1416i Columns 21 through 25-1.0498 + 3.1416i -1.2040 + 3.1416i -1.3863 + 3.1416i -1.6094 + 3.1416i -1.8971 + 3.1416i Columns 26 through 30-2.3026 + 3.1416i -2.9957 + 3.1416i -37.0245 -2.9957 -2.3026 Columns 31 through 35-1.8971 -1.6094 -1.3863 -1.2040 -1.0498Columns 36 through 40-0.9163 -0.7985 -0.6931 -0.5978 -0.5108Columns 41 through 45-0.4308 -0.3567 -0.2877 -0.2231 -0.1625Columns 46 through 50-0.1054 -0.0513 0.0000 0.0488 0.0953Columns 51 through 550.1398 0.1823 0.2231 0.2624 0.3001Columns 56 through 600.3365 0.3716 0.4055 0.4383 0.4700Column 610.50082.创建⼀个由10个元素组成的等差数列x,第⼀个元素是1,第10个元素是20.(1)计算其元素个数;(2)取出其中第⼆个元素赋值给y.(3)将数组X的前3个元素分别赋值为4,5,6.(4)将数组X的前5个元素倒序后构成⼀个字数组赋值给Z。

北邮现代通信技术实验报告

北邮现代通信技术实验报告

北邮现代通信技术实验报告1. 引言通信技术是现代社会中不可或缺的一部分,它不仅仅改变了我们的生活方式,还推动了科技的发展。

本文将介绍北邮现代通信技术实验的设计和实施过程。

2. 实验目标本实验的主要目标是让学生了解现代通信技术的基本原理和应用。

通过实践操作,学生将能够掌握以下内容:•了解通信系统的基本组成部分•掌握数字信号的调制和解调方法•学会使用软件模拟通信系统•了解信道编码和纠错技术3. 实验步骤步骤1:实验准备在实验开始之前,我们需要准备以下设备和软件:•一台个人计算机•MATLAB或其他模拟通信系统的软件步骤2:信号调制在这一步骤中,我们将学习数字信号的调制方法。

调制是将数字信号转换为模拟信号的过程,常见的调制方法包括调幅(AM)和调频(FM)。

我们将使用MATLAB软件进行信号调制的模拟。

步骤3:信号解调在这一步骤中,我们将学习如何从模拟信号中恢复出数字信号。

解调是调制的逆过程,常见的解调方法包括包络检测和相干解调。

我们将使用MATLAB软件进行信号解调的模拟。

步骤4:信道编码和纠错在实际通信中,信号会受到噪声的干扰,容易出现误码。

为了提高通信系统的可靠性,我们需要使用编码和纠错技术。

在这一步骤中,我们将学习如何对数字信号进行编码和纠错处理。

步骤5:实验总结实验结束后,我们将对实验结果进行总结和分析。

通过实验,我们可以对现代通信技术的原理和应用有更深入的了解,并加深对通信系统的认识。

4. 实验结果与分析在本实验中,我们成功地完成了信号调制、解调以及信道编码和纠错的实验。

通过对实验结果的分析,我们发现信道编码和纠错技术对于提高通信系统的可靠性和性能非常重要。

5. 结论通过本次实验,我们深入了解了现代通信技术的基本原理和应用。

通过实践操作,我们掌握了数字信号的调制和解调方法,并学会了使用软件模拟通信系统。

同时,我们也了解了信道编码和纠错技术的重要性。

6. 参考文献[1] 通信原理与系统仿真实验教程 [2] 现代通信技术导论以上是北邮现代通信技术实验报告的详细内容。

matlab 实验报告

matlab 实验报告

matlab 实验报告Matlab实验报告引言:Matlab是一种强大的数值计算和可视化软件,广泛应用于科学、工程和经济等领域。

本实验报告将介绍我在使用Matlab进行实验过程中的一些经验和结果。

实验一:矩阵运算在这个实验中,我使用Matlab进行了矩阵运算。

首先,我创建了一个3x3的矩阵A和一个3x1的矩阵B,并进行了矩阵相乘运算。

通过Matlab的矩阵乘法运算符*,我得到了一个3x1的结果矩阵C。

接着,我对矩阵C进行了转置操作,得到了一个1x3的矩阵D。

最后,我计算了矩阵C和矩阵D的点积,并将结果输出。

实验二:数据可视化在这个实验中,我使用Matlab进行了数据可视化。

我选择了一组实验数据,包括时间和温度两个变量。

首先,我将数据存储在一个矩阵中,并使用Matlab的plot函数将时间和温度之间的关系绘制成曲线图。

接着,我使用Matlab的xlabel、ylabel和title函数添加了横轴、纵轴和标题。

最后,我使用Matlab的legend函数添加了图例,以便更好地理解图表。

实验三:数值积分在这个实验中,我使用Matlab进行了数值积分。

我选择了一个函数f(x)进行积分计算。

首先,我使用Matlab的syms函数定义了符号变量x,并定义了函数f(x)。

接着,我使用Matlab的int函数对函数f(x)进行积分计算,并将结果输出。

为了验证结果的准确性,我还使用了Matlab的diff函数对积分结果进行了求导操作,并与原函数f(x)进行了比较。

实验四:信号处理在这个实验中,我使用Matlab进行了信号处理。

我选择了一个音频文件,并使用Matlab的audioread函数读取了该文件。

接着,我使用Matlab的fft函数对音频信号进行了傅里叶变换,并将结果绘制成频谱图。

为了进一步分析信号的特征,我还使用了Matlab的spectrogram函数绘制了信号的时频图。

通过对信号的频谱和时频图的观察,我可以更好地理解信号的频率和时域特性。

北京邮电大学MATLAB实验报告

北京邮电大学MATLAB实验报告

DSP--MATLAB实验报告实验名称:MATLAB第一次上级实验学生姓名:班级:班内序号:学号:日期:1.实验要求(1) 常用数字信号序列的产生:熟悉Matlab 产生数字信号的基本命令,加深对数字信号概念的理解,并能够用Matlab 产生和绘制出一些常用离散信号序列。

请用Matlab 画出下列序列的波形(-10<n<10):a) δ(n)b) 单位阶跃序列2 u(n-5)c) 矩形序列R(n)d) y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)(2)加、减、尺度(乘除)和移位是数字信号处理中最基本的算术运算,将上述基本序列进行这些基本运算,得到多个序列构成的组合序列。

(3)请用您的计算机声卡采用一段您自己的声音x(n),长度为45秒,单声道,取样频率44.1kHz,16bit/样值,然后与给定的一段背景音乐y(n) 按下式叠加为一个声音信号z(n):z(n) = 0.7x(n) + 0.3y(n)要求在同一个Figure 中,画出采集声音x(n)、背景音乐y(n)和混音z(n) 的时域波形;2关键算法分析产生δ(n),单位阶跃序列 2 u(n-5),矩形序列R(n),y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)序列,首先在matlab中新建一个m文件,将各种序列的定义写进去,再在命令窗口中写入命令语句,便可得到。

单位取样序列x=impseq(0,-20,120);n=[-20:120]; >> plot(n,x)单位阶跃序列2 u(n-5) :x=stepseq(5,-20,120),n=[-20:120];plot(n,2*x)矩形序列R(n):x1=stepseq(-10,-10,60),n1=[-10:60],x2==stepseq(10,-10,60),n2=[-10:60],y=x1-x2,n= [-10:60],plot(n,y)y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn):n=[0:0.1:20];x=2*sin(0.3*pi*n)+0.5*cos(2*0.6*pi*n);plot(n,x)加法:δ(n)+ 2 u(n-5):x1=impseq(0,-20,120);n=[-20:120];x2=2*stepseq(5,-20,120),n=[-20:120];y=x1+x2,plot(n,y)减法:δ(n)- 2 u(n-5):x1=impseq(0,-20,120);n=[-20:120]; x2=2*stepseq(5,-20,120),n=[-20:120];y=x1-x2,plot(n,y)乘法: δ(n)- 2 u(n-5): x1=impseq(0,-20,120);n=[-20:120]; x2=2*stepseq(5,-20,120),n=[-20:120];y=x1.*x2,plot(n,y)一个figure中显示多个波形:[y,fs,bits]=wavread('我的声音'),t1=(0:length(y)-1)/fs;[x,fs,bits]=wavread('天空之城'),t2=(0:length(x)-1)/fs;subplot(2,2,1),plot(t1,y);subplot(2,2,2),plot(t2,x);3. 程序运行结果单位取样序列单位阶跃序列2 u(n-5)矩形序列:y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)::加法:δ(n)+ 2 u(n-5) 乘法: u(n)*R5:移位:一个figure中显示多个波形:4. 总结通过这次实验,我对MATLAB的使用了解了许多,尤其是在对声音和图像的处理方面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP--MATLAB实验报告
实验名称:MATLAB第一次上级实验
学生姓名:
班级:
班内序号:
学号:
日期:
1.实验要求
(1) 常用数字信号序列的产生:
熟悉Matlab 产生数字信号的基本命令,加深对数字信号概念的理解,并能够用Matlab 产生和绘制出一些常用离散信号序列。

请用Matlab 画出下列序列的波形(-10<n<10):
a) δ(n)
b) 单位阶跃序列2 u(n-5)
c) 矩形序列R(n)
d) y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)
(2)加、减、尺度(乘除)和移位是数字信号处理中最基本的算术运算,将上述基本序列进行这些基本运算,得到多个序列构成的组合序列。

(3)请用您的计算机声卡采用一段您自己的声音x(n),长度为45秒,单声道,取样频率44.1kHz,16bit/样值,然后与给定的一段背景音乐y(n) 按下式叠加为一个声音信号z(n):z(n) = 0.7x(n) + 0.3y(n)
要求在同一个Figure 中,画出采集声音x(n)、背景音乐y(n)和混音z(n) 的时域波形;
2关键算法分析
产生δ(n),单位阶跃序列 2 u(n-5),矩形序列R(n),y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn)序列,首先在matlab中新建一个m文件,将各种序列的定义写进去,再在命令窗口中写入命令语句,便可得到。

单位取样序列x=impseq(0,-20,120);n=[-20:120]; >> plot(n,x)
单位阶跃序列2 u(n-5) :x=stepseq(5,-20,120),n=[-20:120];plot(n,2*x)
矩形序列R(n):x1=stepseq(-10,-10,60),n1=[-10:60],x2==stepseq(10,-10,60),n2=[-10:60],y=x1-x2,n= [-10:60],plot(n,y)
y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn):n=[0:0.1:20];x=2*sin(0.3*pi*n)+0.5*cos(2*0.6*pi*n);plot(n,x)
加法:δ(n)+ 2 u(n-5):x1=impseq(0,-20,120);n=[-20:120];
x2=2*stepseq(5,-20,120),n=[-20:120];y=x1+x2,plot(n,y)
减法:δ(n)- 2 u(n-5):x1=impseq(0,-20,120);n=[-20:120]; x2=2*stepseq(5,-20,120),n=[-20:120];y=x1-x2,plot(n,y)
乘法: δ(n)- 2 u(n-5): x1=impseq(0,-20,120);n=[-20:120]; x2=2*stepseq(5,-20,120),n=[-20:120];y=x1.*x2,plot(n,y)
一个figure中显示多个波形:[y,fs,bits]=wavread('我的声音'),t1=(0:length(y)-1)/fs;[x,fs,bits]=wavread('天空之城'),t2=(0:length(x)-1)/fs;subplot(2,2,1),plot(t1,y);subplot(2,2,2),plot(t2,x);
3. 程序运行结果
单位取样序列
单位阶跃序列2 u(n-5)
矩形序列:
y(n)=2sin(0.3πn)+ 0.5cos2(0.6πn):

加法:δ(n)+ 2 u(n-5) 乘法: u(n)*R5:
移位:
一个figure中显示多个波形:
4. 总结
通过这次实验,我对MATLAB的使用了解了许多,尤其是在对声音和图像的处理方面。

MATLAB与其他的编程语言相比,更接近我们现实中的语言,更容易理解,所以学习起来相对容易,但是在编程的过程中,还是因为不了解函数的使用,以及要实现某一功能需要的函数,耗了不少的时间。

编程时,我虽然会利用help,但对于每个函数的解释都是英文的,有时读起来有点困难,所以说工科学好英语还是挺重要的,学好MATLAB更是必不可少的。

相关文档
最新文档