Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РАСЧЕТ~2.DOC
Скачиваний:
0
Добавлен:
15.11.2019
Размер:
1.78 Mб
Скачать

Программа 1

10 REM РАСЧЕТ АЧХ И ЗАТУХАНИЯ АНАЛОГОВОГО ФИЛЬТРА

20 OPEN “0”, “#1”, “:LP:”

30 DEFINT I-N

40 DEFSTR Q

50 INPUT “ВВЕДИТЕ ПОРЯДОК ФИЛЬТРА N” ;N

60 K=FIX(N/2)

70 DIM A(K), B(K), FF(K)

80 INPUT “ВВЕДИТЕ КОЭФФИЦИЕНТ С” :C

90 PRINT “ВВЕДИТЕ КОЭФФИЦИЕНТЫ A(I), B(I), FF(I)”

100 FOR I=0 TO K

110 PRINT “A(”; I;”) = ”;: INPUT A(I)

120 PRINT “B(”; I;”) = ”;: INPUT B(I)

130 PRINT “FF(”; I;”) = ”;: INPUT FF(I)

140 NEXT I

150 INPUT “ВВЕДИТЕ ТИП ФИЛЬТРА” :Q

160 INPUT “ВВЕДИТЕ ШАГ ПО ЧАСТОТЕ DF, КОЛИЧЕСТВО ТОЧЕК L” ;DF,L

170 PRINT #1,

180 PRINT #1, “ЧАСТОТА АЧХ ЗАТУХАНИЕ”

190 PRINT #1,

200 F=0

210 FOR I=1 TO L

220 F1=F^2

230 T=1

240 FOR I=1 TO K

250 AI=A(I)^2:BI=B(I)^2

260 T=T/SQR((AI+BI-F1)^2+4*AI*FI)^2)

270 IF Q=”C” OR Q=”I” THEN T=T*SQR((FF(I)^2-F1)^2)

280 NEXT I

290 IF N MOD 2 =1 THEN T=T/SQR(F1+A(0)^2)

300 IF Q= “I” AND N MOD 2 =0 THEN T=T/SQR(1+C^2) ELSE T=T/C

310 IF T<>0 THEN T1=-20*LOG(T)/LOG(10) ELSE T1=999

320 PRINT #1, USING “###.###” ;F;

330 PRINT #1, USING “########.###” ; T, T1

340 F=F+DF

350 NEXT I1

360 CLOSE #1

370 PRINT “ РАБОТА ОКОНЧЕНА”

380 END

В программе коэффициенты ai обозначаются как A(I); вiB(I), a iFF(I).

    1. Построение графиков АЧХ и затухания по результатам расчетов.

  1. Определение передаточной функции H(z) цифрового фильтра с помощью билинейного преобразования (таблица 1).

  2. Контрольный расчет АЧХ и затухания полученного БИХ-фильтра по разработанной программе.

Например программа расчета АЧХ и затухания для передаточной функции вида

10 REM РАСЧЕТ АЧХ И ЗАТУХАНИЯ БИХ-ФИЛЬТРА

20 OPEN “0”, #1, “:LP:”

30 DEFINT M, L, K, I

40 INPUT “ВВЕДИТЕ КОЭФФИЦИЕНТ С” ;C

50 INPUT “ВВЕДИТЕ КОЛИЧЕСТВО ЗВЕНЬЕВ”;K

60 DIM B(2,K), A(2,K)

70 PRINT “ВВЕДИТЕ КОЭФИЦИЕНТЫ B(L,I), A(L,I)”

80 FOR I=1 TO K

90 FOR L=0 TO 2

100 PRINT “B(”;L;”,”;I;”)=”;:INPUT B(L,I)

110 PRINT “A(“;L;”,”;I;”)=”;:INPUT A(L,I)

120 NEXT L,I

130 INPUT “ВВЕДИТЕ КОЛИЧЕСТВО РАСЧЕТНЫХ ТОЧЕК M”;M

140 DW=.5/(M-1)

150 PRINT #1,

160 PRINT #1, “ЧАСТОТА АЧХ ЗАТУХАНИЕ”

170 PRINT #1,

180 W=0

190 FOR I1=1 TO M

200 W1=2*3.141592*W

210 H=1

220 FOR I=0 TO 2

230 S1=0:S2=0:S3=0:S4=0

240 FOR L=0 TO 2

250 G1=COS(L*W1):G2=SIN(L*W1)

260 S1=S1+B(L,I)*G1:S2=S2+B(L,I)*G2

270 S3=S3+A(L,I)*G1:S4=S4+A(L,I)*G2

280 NEXT L

290 H=H*(S1^2+S2^2)/(S3^2+S4^2)

300 NEXT I

310 H=C*SQR(H)

320 IF H<>0 THEN H1=-20*LOG(H)/LOG(10) ELSE H1=999

330 PRINT #1, USING “##.####” ;W;

340 PRINT #1, USING “########.####” ;H,H1

350 W=W+DW

360 NEXT I1

370 CLOSE #1

380 PRINT “ РАБОТА ОКОНЧЕНА”

390 END

ЧАСТОТА

АЧХ

ЗАТУХАНИЕ

0.0000

0.8660

1.2494

0.0250

0.8813

1.0978

0.0500

0.9250

0.6770

0.0750

0.9818

0.1595

0.1000

0.9918

0.0717

0.1250

0.8660

1.2494

0.1500

0.6453

3.8047

0.1750

0.4477

6.9799

0.2000

0.3077

10.2388

0.2250

0.2128

13.4398

0.2500

0.1477

16.6100

0.2750

0.1019

19.8379

0.3000

0.0688

23.2535

0.3250

0.0444

27.0591

0.3500

0.0262

31.6366

0.3750

0.0126

37.9808

0.4000

0.0026

51.7926

0.4250

0.0047

46.6491

0.4500

0.0095

40.4255

0.4750

0.0123

38.1766

0.5000

0.0133

37.5514

  1. Построение графиков АЧХ и затухания полученного БИХ-фильтра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]