Matlab第 12次课
例 6.10
例 6.11
例 6.12
正弦波的表示方法
瞬时值表达式
301 0 0 0s i n ti
相量必须小写前两种不便于运算,重点介绍相量表示法。
波形图
i
t?
正弦波的表示方法:
重点概念,一个正弦量的瞬时值可以用一个旋转矢量在 纵轴 上的投影值来表示。
正弦波的相量表示法矢量长度 =
mU
矢量与横轴夹角 = 初相位
ω矢量以角速度 按逆时针方向旋转
tUu m s i n
mU
t?
ω
有效值
1,描述正弦量的有向线段称为 相量 (phasor )。若 其幅度用最大值表示,则用符号:
最大值相量的书写方式
2,在实际应用中,幅度更多采用有效值,则用符号:
mU mI
U I
3,相量符号 U,I包含幅度与相位信息。
mU U或




U
eU
jU
jbaU
j
)s i n( c o s
代数式指数式极坐标形式应用举例解,
A506.863010030
2
4.141 jI
V5.1 9 01 1 0602 2 060
2
1.3 1 1 jU
例 1:已知瞬时值,求相量。
已知
V
3
3 1 4s i n1.3 1 1
A
6
3 1 4s i n4.1 4 1


tu
ti
求,i,u
的相量
例 6.10调幅信号通过带通滤波器
已知带通滤波器的系统函数为
22 1 0 0)1(
2)(
S
SSH
激励电压为 u1(t)=(1+cost)cos(100t)
求 ( 1)带通滤波器的频率响应
(2)输出的稳态响应 u2(t)并画出波形
解,u1(t)可以展开成
)101c o s (21)100c o s ()99c o s (21)(1 ttttu
各相量分别为:
010101 0
2
1)101(,01(),0
2
1)99( UUU
带通滤波器的频率响应幅频和相频的响应分别为 absH(j*w),angleH(j*w)。
22 1 0 0)1(
2|)()(


j
jsHjH
js
稳态响应为
))10 1(10 1c o s (|)10 1(|
))10 0(10 0c o s (|)99(|))99(99c o s (|)99(|)(
2
222



tU
tUtUtu
输出相量为:
)(212 |)(|)()()( jejUjHjUjU
带通滤波器的幅频和相频特性
clc
clear
close all
w=80:0.01:120;
b=[2,0];
a=[1,2,10001];
H=polyval(b,j*w)./polyval(a,j*w);
%H1=freqs(b,a,w);
figure
subplot(2,1,1),plot(w,abs(H)),grid
subplot(2,1,2),plot(w,angle(H)),grid
例 6.10程序
clc
clear
close all
t=linspace(0,2*pi,1001);
w=[99,100,101];
U=[0.5,1,0.5];
b=[2,0];
a=[1,2,10001];
u1=(1+cos(t)).*cos(100*t);
% u1=U*cos(w'*t+angle(U')*ones(1,1001));
H=polyval(b,j*w)./polyval(a,j*w);
% H=freqs(b,a,w);
figure
subplot(2,1,1),plot(w,abs(H)),grid
subplot(2,1,2),plot(w,angle(H)),grid
u21=abs(U(1)*H(1))*cos(99*t+angle(U(1)*H(1)));
u22=abs(U(2)*H(2))*cos(100*t+angle(U(2)*H(2)));
u23=abs(U(3)*H(3))*cos(101*t+angle(U(3)*H(3)));
u2=u21+u22+u23;
figure
subplot(2,1,1),plot(t,u1)
subplot(2,1,2),plot(t,u2)
例 6.11 非周期信号(方波)的频谱分析如图 6.11-1
的矩形脉冲信号,求其在?在 -40rad/s~40rad/s区间的频谱。
解:傅立叶变换表达式为:
dtetfjF tj )()(
Matlab不能计算无限区间,根据信号波形的情况,
将积分上下限定为 0~ 10s,将 t分成 N等分,用求和代替积分,所以
teeetftftf
tetfjF
n
i
tjtjtj
n
tj
N
i
i



]',.,,,,)][(),.,,,(),([
)()(
21
21
1


注,可以利用 行 向量 f(t)和 列 向量 e-jwti来实现求和运算。
增量
由于一系列不同?的取值,都用同一公式,因此可以利用矩阵相乘的特性,将?设为一个行数组,代入上式,得
dttjfF *)'**e x p (*
结果 F是和?等长的行向量。也是行向量,t’是列向量,则 t’?为一矩阵,其行数和 t相同,而列数和?
相同,因此利用上式就完成了傅立叶变换。
为了验证上述结论,大家试一下如下练习。
t=[t1,t2,t3];?=[?1,?2,?3];ft=[ft1,ft2,ft3]
dttjfF *)'**e x p (*
结果 F是否为一个和?等长的行向量
傅立叶变换之共轭对称性;
若 x(t)为实信号,且
)()(
)()(
*
jXjX
jXtx

则函数 fliplr(A)的作用是将矩阵 A左右翻转,如
A=[1,2,3],A1= fliplr(A)
A1 = 3 2 1
傅立叶逆变换表示式为

dwejwFtf
pidwtwjFf
j w t)(
2
1)(
)*2/(*)'**e x p (*
等价于
clc
Clear,close all
tf=10;
N=input('取时间分隔的点数 N=');
dt=10/N;t=[1:N]*dt;
f=[ones(1,N/2),zeros(1,N/2)];
wf=input('需求的频谱宽度 wf=');
Nf=input('需求的频谱点数 Nf=');
w1=linspace(0,wf,Nf);dw=wf/(Nf-1);
F1=f*exp(-j*t‘*w1)*dt;%傅立叶变换
w=[-fliplr(w1),w1(2:Nf)];%拓展到负频率部分
F=[fliplr(conj(F1)),F1(2:Nf)];
subplot(1,2,1),plot(t,f,'linewidth',1.5);axis([0 10 0 1.1]),grid
subplot(1,2,2),plot(w,abs(F),'linewidth',1.5);grid
取时间分隔的点数 N=256
需求的频谱宽度 wf=40
需求的频谱点数 Nf=64
0 5 10
0
0,2
0,4
0,6
0,8
1
- 4 0 - 2 0 0 20 40
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
例 6.12 用傅立叶变换计算滤波器的响应和输出。
计算幅度为 1,宽度为 5s的矩形脉冲(同例 6.11)
通过下列滤波器的响应
( 1)理想低通滤波器


10,100
10101)(

jH
( 2)三阶巴特沃思低通滤波器(截止频率?c= 10rad/s)
的转移函数
100020020
500)(
23 SSSSH
解:
滤波器的输出频谱为,Y(j?)=F(j?).H(j?).
其时间响应为 y(t)是 Y(j?)的傅立叶逆变换。
( 1)对于理想低通滤波器的截止频率为?c为 10。
故只取 F(j?)中的?=0~10的部分,用 Matlab语言描述,在这个区间内的频率分量对应的?的下标数组为
n2=find((w>= -wc)&(w<= wc))
其对应的频率数组为
w2=w(n2)
频率段内的频谱数组为 F2=F(n2:),它就是滤波后的频谱数组 Y2,其逆变换为
dwpitnjFy */)'*2*e x p (*22?
( 2)三阶低通巴特沃思滤波器的频率响应为:
)(200)20100(
500
1000)(200)(20)(
500
)()(
32
23






j
jjj
SHjH jS
%巴特沃思界滤波器的幅频特性
clc
clear,close all
w=-20:0.05:20;
b=[0,500];
a=[1,20,200,1000];
H=polyval(b,j*w)./polyval(a,j*w);
H1=freqs(b,a,w)
subplot(1,2,1),plot(w,abs(H)),grid
subplot(1,2,2),plot(w,abs(H1)),grid
%(1)q612a
%滤波器:理想低通滤波器
q611
%调用例,程序,设定数据为 N=256,wf=20,Nf=128
w2f=input('理想低通滤波器的带宽( 1/秒)= ');
n2=find((w>= -w2f)&(w<= w2f));
w2=w(n2);
Y2=F(n2);
figure
subplot(2,2,1),plot(w2,abs(Y2),'linewidth',1.5);
y2=Y2*exp(j*w2'*t)/(2*pi)*dw;
subplot(2,2,2),plot(t,f,'linewidth',1.5);
subplot(2,2,3),plot(t,y2,'linewidth',1.5);
%(2)q612b
%滤波器:三阶低通滤波器
q611
%调用例,程序,设定数据为 N=256,wf=20,Nf=128
H=freqs(1000,[1,20,200,1000],w);
Y3=H.*F
figure
subplot(1,2,1),plot(w,abs(Y3),'linewidth',1.5);grid
y3=Y3*exp(j*w'*t)/(2*pi)*dw;
subplot(1,2,2),plot(t,f,t,y3,'linewidth',1.5);grid
复习今天三道题