minliu

  • 2024-07-18
  • 发表了主题帖: 用MATLAB验证折射定律

    用MATLAB验证折射定律 折射定律,又称斯涅尔定律(Snell’s Law)。简单描述为:光线的入射角和折射角的正弦之比,为一常数。可写为: sinθ1*n1=sinθ2*n2 式中,θ1/θ2分别是入射角和出射角,n1/n2分别是介质1和介质2的折射率。 要证明这个定律,有多种方法。本文采用费马原理,通过MATLAB进行计算。 费马原理提出:光线的传播路径,满足平稳时间原理。也就是时间变化最平稳的路径。光的传播速度V=C/n, 即:光线在不同介质中的传播速度不同。 图一 如图一,光线由P点经过Xi点,由介质n1进入介质n2,达到Q点。按照费马原理计算xi的位置,从而验证折射定律。P点到Q点的时间为: 可以通过MATLAB画出(T,x) 曲线,可以看出,该曲线中,T只有最小值。找出最小值对应的x值,便可以得出唯一入射点。 图二是计算得出的结果。 条件为:a=2; b=2; l=8; n1=1; n2=1.8; 图二 图三是连接光路的图。 图三 通过简单计算,可以验证折射定律: sinθ1*n1=sinθ2*n2。   x y R=sqrt(x^2+y^2) SINθ(=X/R) n SINθ*n 入射P 6.75 2 7.040064 0.958798113 1 0.9587981 折射Q 1.25 2 2.358495 0.52999894 1.8 0.9539981     直接通过T(x)函数对x求导,使T'(x)=0,也可以证明折射定律。

  • 2024-07-05
  • 发表了主题帖: 图像的傅里叶变换咨询

    用MATLAB的fft函数和fftshift函数,对下图一的对角线图进行傅里叶变换,得到如图二和图三,是否正确?       原图                       图一                    FFT 图                      图2                             FFTSHIFT 图                      图三   请问,图二/图三是否正确?

  • 2024-03-27
  • 发表了主题帖: 用GNU Octave求解系统特性

      在电子领域,线性时不变系统具有广泛的代表意义。 系统的冲激响应h(t)和系统函数H(s)从时域和变换域两方面表征了同一系统的两个侧面。H(s)是用s域表示的系统函数,它不仅仅是频域的概念。 应用GNU Octave的impulse()函数,可以从系统函数H(s), 求出冲激响应h(t), 例如,对于系统函数H1(s),可以用以下程序求出冲激响应和阶跃响应。 num=[1 -2];den=[1 1 0]; sys=tf(num,den); figure(1) subplot(221); pzmap(sys); axis([-2.5 2.5 -1.5 1.5]); t=0:0.02:15; subplot(222); y=impulse(sys,t); plot(t,y); subplot(223); z=step(sys,t); plot(t,z); 图一为冲击响应: y=-2+3exp(-t)的波形 图一 图二为阶跃响应: y=-2t+3-3exp(-t)的波形 图二 但是,当遇到如下系统函数,按照上面的程序进行求解时,会遇到问题。 问题显示如下: 原因是:本例的系统函数,分子和分母都是2阶的。按照s变换的定义,在变换为时域的冲激响应时,存在δ(t)函数。完整的冲激响应为:h(t)= δ(t)-2exp(-t)*cost.但在用符号函数进行求解时,直接将h(t)写为:-2exp(-t)*cost。 因此,为了使用上面的程序求出这个系统的冲激响应函数,需将s函数先减去1,即,消除δ(t),变为如下: 图三 该程序输出了零极点、冲激响应h(t)、频率响应H(jw),如图四。 图四 总结: 本文通过GNU Octave软件的impulse函数,求解系统函数对应的冲激响应和频率响应曲线。 系统函数的分子的阶数大于等于分母的阶数时,会遇到无法求解的问题。 分析出原因,并加以解决。

  • 2024-03-08
  • 发表了主题帖: 傅里叶变换的再理解

                傅里叶变换的再理解        傅里叶变换,一般认为是将时域信号,转变为频域的信号,或反之,将频域信号转化为时域信号,分别称为傅里叶变换和傅里叶逆变换。简单理解,可以通过傅里叶变换,得到时域信号(人眼可以看到的信号)频率变化特性。        我们也知道,一个信号的频率,实际上,是指随时间变化快慢的表现。而随时间变化的快慢,可以用求导的方式,即,求微分。        那傅里叶变换与求导有什么关系吗?       很明显的例子,以正弦信号为例: y=sinx, dy/dx=cosx.       可以看到,正弦信号的微分信号仍然是余弦信号,与傅里叶变换的两个δ脉冲相差甚远。      再以一个半圆信号为例,加以说明。      坐标轴上,半径为1的圆可以用x^2+y^2=1表示。半圆信号,可以用y=sqrt(1-x^2)表示。用GNU Octave软件,将半圆信号及其微分信号求出,如下图一和图二。 图一 图二 或如图三。 图三       可以看到,微分信号表示了信号随时间变化的快慢,或者说,是信号随时间变化的斜率。在x=-1和x=1两点,斜率分别是+∞和-∞,说明这两点的变化率是最大的。而在x=0的点,变化率为0。       我们把半圆信号进行傅里叶变换,如图四。 图四      从图四可以看到,这个波形与微分信号波形完全不同。      首先,横坐标是以ω(角频率)为单位,而不是以时间为单位;所以,它反映了随频率的分布情况。      其次,波形的形状完全不同。它反映的是,各种频率分量所占的“量”的大小。      从这里我们可以看出,傅里叶变换实际上是一种“密度”函数,是原变量在各种频率上的密度分布。      如果把半圆信号的微分信号,再次进行傅里叶变换,是怎样的呢?      可以按照傅里叶变换的时域微分特性,进行求解。      画出半圆信号的微分信号的傅里叶变换,如图五: 图五 总结:       傅里叶变换可以这样理解:是对时间信号进行了按频率的密度分布求解。可以通过傅里叶变换的十大特性,如线性、时延性等,来描述它的特性。

  • 2024-02-25
  • 发表了主题帖: 用GNU Octave仿真周期信号的频谱

    用GNU Octave仿真周期信号的频谱 周期信号的频谱,是离散的频率点。可以通过傅里叶级数来表达。 通过GNU Octave的FFT(f)函数,可以仿真相应的幅频特性图,直观看到周期信号的频谱变化。 数字信号一般是1和0的交替变化,可以用方波信号来模拟仿真,如图一。但实际的数字信号,往往不是理想的方波形式,而是梯形的,如图二。 图一 图二 本文通过利用GNU Octaver软件,对比方波和梯形波的各种波形的频谱曲线,以方便对频谱的理解。 周期信号的产生: GNU Octave中,有square(t,duty)函数。调用该函数,生成周期为2pi的方波。 但周期梯形信号没有现成的函数。为此需要自作一个函数。命名为trapezoidstand.m。 以下是方波信号的频谱产生程序。 1Hz,50%占空比的波形。见图三。 频谱图中,一次谐波频率为f1=6.2832/2pi=1Hz, 三次谐波频率为f3=18.8496/2pi=3Hz. 图三 1Hz,70%占空比的波形。见图四。 从频谱图中看到,除了有一次谐波和三次谐波,还增加了直流分量和偶次谐波分量。高低电平的平均值不为零导致出现直流分量。 图四 1Hz,90%占空比的波形。见图五。 从频谱图中看到,随着占空比的加大,直流分量进一步增强。谐波分量的幅值进一步减小。 图五 1Hz,30%占空比的波形。见图六。 与70%占空比频谱类似。 图六 1Hz,10%占空比的波形。见图七。 与90%占空比频谱类似。 图七 1Hz,50%占空比,幅值为1的波形。见图八。 从频谱图看到,由于时域信号有直流分量,所以,在0频点处,存在分量。但只有一次谐波和三次谐波等奇次谐波,不存在偶次谐波。这是因为,50%占空比的信号,不存在偶次谐波。 图八 1Hz,70%占空比,幅值为1的波形。见图九。 存在直流分量,同时存在奇偶次谐波分量。 图九 1Hz,20%占空比,幅值为1的波形。见图十。 存在直流分量,同时存在奇偶次谐波分量。但直流分量相比50%占空比,要小很多。 图十 1Hz,50%占空比梯形,幅值为1.8。见图十一。 可以看到,相比于方波,谐波分量的幅值更加小。 图十一 1Hz,50%占空比梯形,幅值为-0.9~0.9。见图十二。 可以看到,没有了直流分量频段。 图十二 周期梯形信号频谱产生程序如下。 总结: 通过GNU Octave软件,仿真了周期1Hz方波和梯形信号的频谱曲线。从中可以看到在不同的占空比等条件下的频谱变化。 按照傅里叶变化的尺度特性,当已知f(t)的傅里叶变换为F(jw)时,则f(at)对应的傅里叶变换为1/|a|*F(jw/a). 虽然本文是对1Hz的方波进行了仿真,同样可以推算出1K Hz/1M Hz等各种方波的频谱特性。

最近访客

< 1/1 >

统计信息

已有1人来访过

  • 芯积分:33
  • 好友:--
  • 主题:7
  • 回复:0

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言