您的当前位置:首页正文

光的折射和高通滤波器的幅频、相频特性matlab实验报告

2024-03-27 来源:步旅网


实验报告

课程名称: MATLAB与机电系统仿真

实验项目: Refraction&High-Pass Filter 专业班级: 姓 名: 学 号: 实验室号: 实验组号: 实验时间: 批阅时间: 指导教师: 成 绩:

沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级: 学号: 姓名:

实验名称:Refraction & High-Pass Filter 1. 实验目的: (1)、熟悉分支结构与循环结构的程序编写; (2)、练习使用分支结构与循环结构解决实际问题。 2.实验内容: (1)、编写MATLAB程序,计算光路从一种介质入射到另一种介质当中时的折射角;并描绘出光路图; (2)、编写MATLAB程序,绘制出高通滤波器的幅频特性和相频特性。 3. 实验方案(程序设计说明) 【见附件A】 4. 实验步骤或程序(经调试后正确的源程序) 【主要步骤与程序代码等。见附件A】 5.程序运行结果 正确计算出折射角度(rad);较准确地绘制出高通滤波器的幅频、相频特性。 6.出现的问题及解决方法 在角度计算时,应注意将入射角折算成rad。 附件A 沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级: 学号: 姓名:

实验步骤或程序:

(一)、Refraction (1)、创建一个新.m文件; (2)、编写MATLAB程序如下:

%Script file:refraction.m % %Purpose:

% This program calculates the angle of incidence %

%Record of revisions:

% Date Programmer Description of change % ==== ========== ===================== % 12/04/10 xxxxxxxx Original code %

% Define variables:

% a1 --the angle of incidence(in degerees) of the light in Region 1

% a2 --the angle of incidence(in degerees) of the light in Region 2

% n1 --the refractive index of Region 1 % n2 --the refractive index of Region 2 % conv --Degrees to radians conv factor % constant conv=pi/180;

%Prompt the user for the values n1 and n2 and a1 n1 = input ('Enter the refraction n1:'); n2 = input ('Enter the refraction n2:'); a1 = input ('Enter the angle a1(in degrees):'); if [n1*sin(a1*conv)]/n2>1 disp ('No Solutions.'); else

a2 = asin([n1*sin(a1*conv)]/n2)/conv;

disp ('the angle of incidence of the light in Region 2 is(in degrees):');

fprintf ('a2=%6.2f\\n',a2); end

x1=-5:0.5:0;

y1=-x1/[tan(a1*conv)];

x2=0:0.5:5;

y2=-x2/tan(a2*conv); plot(x1,y1,'r',x2,y2,'b'); title('the plot of refraction'); xlabel('法线方向') ylabel('介质分界面') axis([-5,5,-5,5]) grid on;

(3)、运行测试程序:

输入第一组测试数据:1.0、1.7、45,结果及光路图如下:

输入第二组测试数据:1.7、1.0、45,结果如下:

(二)、High-Pass Filter (1)、创建新.m 文件

(2)、编写相应的MATLAB程序如下: % Script file:high-pass-hilter.m %

% Purpose:

% This program calculates and plots the amplitude and phase responses % of this filter as a function of frequency. %

% Record of revisions:

% Date Programmer Descrition of change % ==== ========== ==================== % 11/30/10 wensheng Original code %

% Define variables:

% amp --Amplitude response % C __Capacitance (farads)

% f __Frequency of input signal(Hz) % phase __Phase response % R __Resistance (ohms) % res __Vo/Vi % Initialize R&C R=16000; C=1.0E-6;

%Create array of input frequencies f=1:2:1000

%Caculate the response

res=(j*2*pi*f*R*C)./(1+j*2*pi*f*R*C) %Caculate the amplitude response amp=abs(res)

%Caculate the phase response phase=angle(res) %Create plots subplot(2,1,1); loglog(f,amp);

title('Amplitude response'); xlabel('Frequency (Hz)'); ylabel('Output/Input Ratio'); grid on;

subplot(2,1,2); semilogx(f,phase); title('Phase Response'); xlabel('Frequency (Hz)');

ylabel('Output/Input Phase(rad)'); grid on;

(2)、运行测试程序,图像如下:

实验总结:

本次实验让我熟悉了分支结构的实际应用,以及应用subplot函数实现多图共存的方法,成功绘制出了折射光路图及高通滤波器的幅频与相频特性图,要注意函数式的表达及应用axis([xmin xmax ymin ymax])使图像更明确显示。实验成功。

因篇幅问题不能全部显示,请点此查看更多更全内容