zoshyt
.pdfРабота №6
ЛАБОРАТОРНАЯ РАБОТА 6
ПРИМЕРЕНИЕ МИКРОПРОЦЕССОРОВ В ЦИФРОВОЙ ОБРАБОТКЕ СИГНАЛОВ (ЦИФРОВАЯ ФИЛЬТРАЦИЯ)
Цель работы: Ознакомление со способами цифровой обработки сигналов с применением микропроцессоров, на примере цифрового фильтра.
ВЫПОЛНЕННИЕ РАБОТЫ
Программа 6.1
TITLE Рекурсивный ЦФ 2-го порядка
;-----------------------------------
include asm1.inc ;-----------------------------------
TITLE Макрокоманда сдвига SHIFT@ SHIFT@ MACRO var1, var2
lea di,var1 lea si,var2 mov cx,2
rep movsw ENDM
;-----------------------------------
EXTRN addf4:proc, mulf4:proc ; Внешние п/п ;-----------------------------------
SSEG SEGMENT PARA STACK 'STACK' db 256 dup (0)
SSEG ENDS ;-----------------------------------
DSEG SEGMENT PARA PUBLIC 'DATA'
xnt |
dd 256 dup (0) ; Входной сигнал |
|
ynt |
dd 256 dup (0) ; Выходной сигнал |
|
a0 |
dd 0.067456 ; Fд=1000 Гц //1 dup (0) |
|
a1 |
dd 0.134913 ; Fв=100 Гц //1 dup (0) |
|
a2 |
dd 0.067456 ; Fн=0 Гц |
//1 dup (0) |
b1 |
dd 1.14299 ; ФНЧ |
//1 dup (0) |
b2 |
dd -0.412825 ;Баттерворда //1 dup (0) |
|
y1 dd 1 dup (0) |
|
|
y2 |
dd 1 dup (0) |
|
y3 |
dd 1 dup (0) |
|
y4 |
dd 1 dup (0) |
|
y5 |
dd 1 dup (0) |
|
|
count |
dw 256 |
; Счетчик циклов |
|
index |
dw 1 dup (0) |
; Индекс в массиве |
|
in_file db 'signal.in',0 |
||
|
outfile db 'signal.out',0 |
||
|
handle dw ? |
|
|
; |
filsize dw ? |
|
DSEG ENDS ;-----------------------------------
CSEG SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CSEG, DS:DSEG, ES:DSEG, SS: SSEG
; |
----------------------------------- |
INSIGN PROC FAR ; Чтение сигнала из файла |
|
;--- |
Открываем файл |
lea |
dx,in_file |
mov |
al,0 |
mov |
ah,3dH |
int |
21H |
31
Работа №6
mov |
handle,ax |
;--- Читаем файл |
|
mov |
ah,3fH |
mov |
bx,handle |
mov |
cx,1024 |
lea |
dx,xnt |
int |
21H |
;--- Закрываем файл |
|
mov |
bx,handle |
mov |
ah,3eH |
int |
21H |
ret |
|
INSIGN ENDP |
|
||
; |
----------------------------------- |
|
|
OUTSIGN PROC |
FAR ; Запись сигнала в файл |
||
;--- Создаем файл |
|||
|
lea |
dx,outfile |
|
|
mov |
cx,0 |
|
|
mov |
ah,3cH |
|
|
int |
21H |
|
|
mov |
handle,ax |
|
;--- Записываем в файл выходной сигнал |
|||
|
mov |
ah,40H |
|
|
mov |
bx,handle |
|
|
mov |
cx,1024 |
|
|
lea |
dx,ynt |
|
|
int |
21H |
|
;--- Закрываем файл |
|||
|
mov |
bx,handle |
|
|
mov |
ah,3eH |
|
|
int |
21H |
|
|
ret |
|
|
OUTSIGN ENDP |
|
||
;----------------------------------- |
|
|
|
;----- ---------- |
Основная программа |
||
LINK2 PROC |
FAR ; Главная подпрограмма |
||
|
mov |
ax,DSEG |
|
|
mov |
ds,ax |
|
|
mov |
es,ax |
|
|
call |
INSIGN ; П/п чтения входного сигнала с диска |
|
|
mov |
cx,count |
start: push cx
SHIFT@ y3, y2 ; y3 = y2 SHIFT@ y2, y1 ; y2 = y1
lea |
di,y1 |
; |
|
lea |
si,xnt |
; |
|
add |
si,index ; |
||
mov |
cx,2 |
|
; y1 = x(nT) |
rep movsw |
|
; |
|
SHIFT@ y5, y3 ; y5 = y3 |
|||
lea |
si,y5 |
|
|
lea |
di,b2 |
|
|
call |
mulf4 |
; y5 = y5*b2 |
|
lea |
si,y1 |
|
|
lea |
di,y5 |
|
|
call |
addf4 |
; y1 = y1+y5 |
SHIFT@ y5, y2
32
Работа №6
lea |
si,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,b1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
mulf4 |
; y5 = y5*b1 |
|
|
|
|
|
|
|
|
|||||
lea |
si,y1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
addf4 |
; y1 = y1+y5 |
|
|
|
|
|
|
|
|
|||||
;----------------------------------- |
|
|
|
|
|
|
|
|
|
||||||
SHIFT@ y5, y1 |
|
|
|
|
|
|
|
|
|
|
|||||
lea |
si,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,a0 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
mulf4 |
; y5 = y5*a0 |
|
|
|
|
|
|
|
|
|||||
SHIFT@ y4, y5 ; y4 = y5 |
|
|
|
|
|
|
|
|
|||||||
SHIFT@ y5, y2 |
|
|
|
|
|
|
|
|
|
|
|||||
lea |
si,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,a1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
mulf4 |
; y5 = y5*a1 |
|
|
|
|
|
|
|
|
|||||
lea |
si,y4 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
addf4 ; y4 = y4+y5 |
|
|
|
|
|
|
|
|
||||||
SHIFT@ y5, y3 |
|
|
|
|
|
|
|
|
|
|
|||||
lea |
si,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,a2 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
mulf4 |
; y5 = y5*a2 |
|
|
|
|
|
|
|
|
|||||
lea |
si,y4 |
|
|
|
|
|
|
|
|
|
|
|
|
||
lea |
di,y5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
call |
addf4 ; y4 = y4+y5 |
|
|
|
|
|
|
|
|
||||||
lea |
di,ynt |
; |
|
|
|
|
|
|
|
|
|
|
|||
lea |
si,y4 |
; |
|
|
|
|
|
|
|
|
|
|
|||
add |
di,index ; |
|
|
|
|
|
|
|
|
||||||
mov |
cx,2 |
; | y(nT) = y4 |
|
|
|
|
|
|
|
|
|||||
rep movsw |
; |
|
|
|
|
|
|
|
|
||||||
add |
index,4 |
|
|
|
|
|
|
|
|
|
|
||||
pop |
cx |
|
|
|
|
|
|
|
|
|
|
|
|
||
dec |
cx |
|
|
|
|
|
|
|
|
|
|
|
|
||
jz |
@end |
|
|
|
|
|
|
|
|
|
|
|
|
||
jmp |
start |
|
|
|
|
|
|
|
|
|
|
|
|
||
@end: call |
OUTSIGN ; П/п записи выходного сигнала на диск |
||||||||||||||
mov |
ah,4cH ; Выход из программы в соответствии |
||||||||||||||
int |
21H |
|
|
; требованиям DOS. Стандартное |
|
|
|||||||||
LINK2 |
ENDP |
|
|
; прерывание DOS. |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
;----------------------------------- |
|
|
|
|
|
|
|
|
|
||||||
CSEG |
ENDS |
|
|
|
|
|
|
|
|
|
|
|
|
||
END |
LINK2 |
|
|
|
|
|
|
|
|
Таблица 6.3 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Фильтр Баттерворда |
|
f д |
= 10 |
|
|
||||||
|
|
|
|
|
f ср |
|
|
||||||||
|
|
|
а0 |
|
|
а1 |
|
а2 |
|
|
|
b1 |
|
b2 |
|
ФНЧ |
|
0.067456 |
0.134913 |
|
0.067456 |
|
1.14299 |
|
-0.41283 |
||||||
ФВЧ |
|
0.638956 |
|
-1.27791 |
|
0.638956 |
|
1.14299 |
|
-0.41283 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
Фильтр Чебышева |
|
f д |
= |
10 |
|
|
|||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
f ср |
|
|
|
||
|
|
|
а0 |
|
|
а1 |
|
а2 |
|
|
|
b1 |
|
b2 |
|
ФНЧ |
|
0.50754 |
|
|
0.101507 |
|
0.50754 |
|
1.39019 |
|
-0.59321 |
||||
ФВЧ |
|
0.630169 |
|
-1.26033 |
|
0.630169 |
|
1.0539 |
|
-0.46677 |
33
Работа №6
Параметры сигнала: |
σ 2=0 |
|
T=0.05 c |
τ =0.025 c |
|
T=0.05 c |
τ =0.01 c |
σ 2=0 |
T=0.004 c |
τ =0.002 c |
σ 2=0 |
fД=2500 Гц fД=2500 Гц fД=2500 Гц
Входной и выходной сигнал 1
Входной и выходной сигнал 2
Входной и выходной сигнал 3
Fс
Uвх
Uвых
34
Работа №6
K(f)
F сигн.
Амплитудно-частотная характеристика фильтра
Выводы:________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
Выполнил студент _____________________ |
дата _____________________________ |
Принял ___________________ "____________________" оценка ________ дата __________________
(подпись) |
(Ф И О) |
35