Uploaded by Анна Филимонова

ЛР5

advertisement
Исходные данные:
MSL := 40
PRW := 3
дБ
дБ
Найдем коэффициенты по таблице для эллиптического фильтра 2 порядка PRW, MSL в
справочнике:
K := 1
A := 50.616359
fc := 45 Гц
B := 0.640274 C := 0.714975
ωc := fc 2  π = 282.743 s( ω) := iω
ω := 0 .. 10000
Запишем передаточную функцию фильтра-прототипа:
K C
A
H( ω) :=
2
  s( ω) + A ωc

2
2

s( ω) + B ωc s( ω) + C ωc
2
1
H( ω)
0.5
0
0
50
100
150
ω
2π
АЧХ фильтра-прототипа
200
50
0
arg( H( ω) ) 
180
π
- 50
- 100
- 150
- 200
0
50
100
ω
2π
ФЧХ фильтра-прототипа
fd := 450
T :=
1
fd
Применим z-преобразование:
150
200
Найденные коэффициенты передаточной функции:
b 0 := K C   4 + A ωc  T

2
2
a0 := A  4 + 2 T B  ωc + C  ωc  T
 = 17.147
2

2
 = 257.478
b 1 := K C   2A ωc  T - 8  = 22.854
a1 := A  2C ωc  T - 8  = -376.357
b 2 := K C   A ωc  T + 4  = 17.147
a2 := A  C ωc  T - 2  T B  ωc + 4  = 176.027
2

2

2
2




2 2

2 2

Запишем передаточную функцию цифрового фильтра:
b 0 + b 1 z
K( z) :=
a0 + a1  z
-1
-1
+ b 2 z
+ a2  z
-2
-2
1
i ω T)
K( e
H( ω)
0.5
0
0
50
100
ω
150
200
ω
,
2π 2π
АЧХ фильтра-прототипа и цифрового фильтра
Y( z) := b 0 + b 1  z
X( z) := a0 + a1  z
m := 0 .. 1000
(
x := sin ωc T m
m
m := 2 .. 1000
y := 0
m
-1
+ b2 z
+ a2  z
-2
-2
)
y := 0
0
y :=
-1
1
1
a0
(
)
 b 0 x + b 1  x
+ b2  x
- a1  y
- a2  y
m
m- 1
m- 2
m- 1
m- 2
Разностное уравнение
1
xm
0
ym
-1
0
20
40
60
80
m
Δt := 2
Разрешение по времени
Δφ := 2  π fc Δt = 565.487
Зададим график по точкам, чтобы сравнить. Выведем все графики на одной координатной
плоскости:
i := 0 .. 200
f :=
A :=
i
i
5
25
35
50
75
100
125
150
175
200
1.013
1.326
1.391
0.781
0.288
0.143
0.084
0.053
0.034
0.02
1.5
A
1
( iωT)
K e
H( ω)
0.5
0
0
50
100
f,
ω
,
150
ω
2π 2π
Графики совпадают
c - максимальный из модулей коэффициентов:
c := a1 = 376.357
200
АЦП 12-разрядный
N := 16
2
m16 :=
N- 1
5  c 2
-3
12
= 4.251  10
m16 := 4  m16
N := 24
2
m24 :=
N- 1
5  c 2
12
= 1.088
m24 := 4  m24
N := 32
m32 :=
2
N- 1
5  c 2
12
= 278.612
m32 := m32 4
(
)
a0_24 := floor a 0  m24 = 1.12 a0_32
10 := floor a 0  m32 = 2.869  10
a1_16 := floor a 1  m16 = -7
(
)
a1_24 := floor a 1  m24 = -1.639
a1_32
 10:= floor a 1  m32 = -4.194  10
(
)
a2_24 := floor a 2  m24 = 766 a2_32 := floor a 2  m32 = 1.962  10
(
)
b 0_24 := floor b 0  m24 = 74 b 0_32 := floor b 0  m32 = 1.911  10
(
)
b 1_24 := floor b 1  m24 = 99 b 1_32 := floor b 1  m32 = 2.547  10
(
)
b 2_24 := floor b 2  m24 = 74 b 2_32 := floor b 2  m32 = 1.911  10
a0_16 := floor a 0  m16 = 4
a2_16 := floor a 2  m16 = 2
b 0_16 := floor b 0  m16 = 0
b 1_16 := floor b 1  m16 = 0
b 2_16 := floor b 2  m16 = 0
(
)
(
)
(
)
(
)
(
)
(
)
5
(
)
(
)
4
(
)
(
)
4
(
)
(
)
4
3
3
Исследуем на частоте из полосы пропускания и заграждения:
r := 1000
i := 0 .. r - 1
f := 40
σ := 0.1
M := 2
fd := 1000
x :=
i
M
2
 sin 2π f 

1
fd
 i +

M
2
12
Для АЦП
5
5
3
5 10
3
4 10
xi
2π f 
1  12
fd
= 3.016
3
3 10
π
512
1023
4
3
2 10
= 0.785
j := 0 .. 4
f1 :=
j
10
15
20
25
30
3
1 10
0
0
200
400
600
800
3
1 10
i
y := 0
i := 2 .. r - 1
y :=
m
1
a0
0
y := 0
1
(
)
 b 0 x + b 1  x
+ b2  x
- a1  y
- a2  y
m
m- 1
m- 2
m- 1
m- 2
3
6 10
3
4 10
yi
0
3
2 10
0
3
- 2 10
0
0.2
0.4
0.6
i
fd
GMAX := 2
15
0.8
1
F( x1 , x2 , x3 , b2 , b1 , b0 , y1 , y2 , a1 , a2) :=
res  0
R1  x1 b2
return -GMAX if
R1  GMAX
R2  x2 b1
return -GMAX if
R2  GMAX
R3  x3 b0
return -GMAX if
R3  GMAX
R4  -y2 a1
return -GMAX if
R4  GMAX
R5  -y1 a2
return -GMAX if
R5  GMAX
res  res + R1
return -GMAX if
res  GMAX
res  res + R2
return -GMAX if
res  GMAX
res  res + R3
return -GMAX if
res  GMAX
res  res + R4
return -GMAX if
res  GMAX
res  res + R5
return -GMAX if
res  GMAX
res
( i-2 , xi-1 , xi, b2_16 , b1_16 , b0_16, yi-2 , yi-1 , a1_16 , a2_16)
G := F x
i
4
4 10
4
2 10
Gi
0
yi
4
- 2 10
4
- 4 10
0
100
200
i
1. На частоте среза f = 40 Гц
m16
График дает искажения между m = 4*m16 и m = 5*m16. m = 4*m16
уменьшаем в два раза. m = 2*m16
m24
График дает искажения между m = 4*m24 и m = 5*m24. m = 4*m24
уменьшаем в два раза. m = 2*m24
m32
График дает искажения между m = 4*m32 и m = 5*m32. m = 4*m32
уменьшаем в два раза. m = 2*m32
2. На частоте среза f = 60 Гц
m16
График дает искажения между m = 4*m16 и m = 5*m16. m = 4*m16
уменьшаем в два раза. m = 2*m16
m24
График дает искажения между m = 4*m24 и m = 5*m24. m = 4*m24
уменьшаем в два раза. m = 2*m24
m32
График дает искажения между m = 4*m32 и m = 5*m32. m = 4*m32
уменьшаем в два раза. m = 2*m32
m16 := 0.043
m24 := 8.707
Построим зависимость СКО от разрядности
m32 := 2.229  10
3
m16 := 0.043
Запишем новые значения коэффициентов с посчитанным m
(
)
(
)
(
)
(
)
(
)
(
)
a0_16 := floor a 0  m16 = 11
a1_16 := floor a 1  m16 = -17
a2_16 := floor a 2  m16 = 7
b 0_16 := floor b 0  m16 = 0
b 1_16 := floor b 1  m16 = 0
b 2_16 := floor b 2  m16 = 0
K16 ( z) :=
b 0_16 + b 1_16 z
a0_16 + a1_16 z
-1
-1
+ b 2_16 z
+ a2_16 z
-2
-2
1.5
(
)
1
i ω T
K e
( iωT)
K16 e
0.5
0
0
50
100
ω
,
150
ω
2 π 2π
Запишем новые значения коэффициентов с посчитанным m
m24 := 8.707
200
(
)
(
)
(
)
(
)
(
)
(
)
3
a0_24 := floor a 0  m24 = 2.241  10
3
a1_24 := floor a 1  m24 = -3.277  10
3
a2_24 := floor a 2  m24 = 1.532  10
b 0_24 := floor b 0  m24 = 149
b 1_24 := floor b 1  m24 = 198
b 2_24 := floor b 2  m24 = 149
K24 ( z) :=
b 0_24 + b 1_24 z
a0_24 + a1_24 z
-1
-1
+ b 2_24 z
+ a2_24 z
-2
-2
1.5
( iωT)
i ω T
)
K24( e
1
K e
0.5
0
0
50
100
ω
,
150
200
ω
2 π 2π
Запишем новые значения коэффициентов с посчитанным m
(
)
5
a0_32 := floor a 0  m32 = 5.739  10
m32 := 2.229  10
3
(
)
(
)
5
(
)
4
(
)
4
(
)
4
5
a1_32 := floor a 1  m32 = -8.389  10
a2_32 := floor a 2  m32 = 3.924  10
b 0_32 := floor b 0  m32 = 3.822  10
b 1_32 := floor b 1  m32 = 5.094  10
b 2_32 := floor b 2  m32 = 3.822  10
K32 ( z) :=
b 0_32 + b 1_32 z
a0_32 + a1_32 z
-1
-1
+ b 2_32 z
+ a2_32 z
-2
-2
1.5
(
1
)
i ω T
K e
( iωT)
K32 e
0.5
0
0
50
100
150
ω ω
,
2 π 2π
N
i ω T
 ( K(e )
SKO16 :=
( i ω T) )
ω=1
i ω T
 ( K(e )
( i ω T) )
2
- K24 e
ω=1
-5
= 1.005  10
N
N
i ω T
 ( K(e )
SKO32 :=
= 1.004
N
N
SKO24 :=
2
- K16 e
( i ω T) )
2
- K32 e
ω=1
-8
N
= 4.227  10
200
s := 1 .. 3
SKO :=
R :=
1.004
16
24
32
s
s
-5
1.005  10
-8
4.227  10
1
SKO
0.5
0
0
10
20
30
40
R
Зависимость СКО от разрядности системы
Download