MaxEdu.ru

Обробка цифрових сигналів

Мета роботи: здійснити демодуляцію амплітудно_модульованого сигналу заданого послідовністю цифрових відліків.
Теоретичні відомості
Обробка модульованих сигналів займає важливе значення в сучасній техніці. Суть модуляції – перенесення низькочастотної інформаційної складової в більш високочастотну (ВЧ) область спектру. В радіотехніці перенос в ВЧ –область дозволяє здійснити випромінювання сигналу в навколішній простір, в приладобудуванні – здійснити підсилення наднизькочастотних коливань за схемою “модулятор/демодулятор” (МДМ), в телефонії – по двопровідній лінії звґязку передати на різних модуляційних несучих частотах декілька різних розмов.
Для побудови дешевих інформаційно-вимірювальних систем спостереження на базі ЕОМ зручно використовувати поширені плати АЦП призначені для запису та відтворення аудіосигналів (т.зв. “звукові карти”). Особливістю їх функціонування є обмежений частотний діапазон, як правило 15 Гц…22 кГц, де верхня частота обмежена частотою дискретизації АЦП (може задаватись з ряду 8, 22, 32, 44.1, 48, та 96 кГц в залежності від можливостей конкретної звукової плати). Розрядність плат – 16, 20, 24. Останні дві – зустрічаються рідко в дорогих екземплярах плат. При необхідності вимірювання наднизькочастотних сигналів за допомогою ЕОМ (тиск в трубопроводах, темпаратура, навантаження) з частотним діапазоном 0…1 Гц., можна скористатися звуковою платою. Максимальна похибка таких вимірювальних систем –менша 1% на всьому проміжку часу, а похибка зміни сигналу протягом інтервалу часу 5 хв. не перевищує 0.05%. Вхідний діапазон сигналу по напрузі для звукових плат складає від 0 до 1…4 В по амплітуді в залежності від конкретної моделі звукової плати. Власний шум АЦП, як заслідчують експериментальні дослідження складає 2..3 двійкові розряди. Тому при наявності фактично 13 – 15 розрядного АЦП (8192…32768 градацій вхідного сигналу) можна забезпечити точні відносні вимірювання без підстроювання вхідного діапазону для кожного типу вимірювального обґєкта.
Завдання
За допомогою довільно вибраного програмного середовища (MathCAD, MathLab, Borland++ Builder, Delphi, Basic, Pascal, C, Fortran) написати програму_демодулятор файлів “AM_testХ.txt”. (де Х-№ файлу)
Програма повинна формувати вихідний файл, в якому записана огинаюча зміни амплітуди вхідного сигналу.
Програма повинна ігнорувати перехідні процеси (паразитні коливання амплітуди одного імпульсу )
Програма повинна графічно відтворювати результат демодуляції на екрані.
Виконання роботи
Програма мовою С.


#include
#include
#include
#include
#include
#include
#include
#define true 1
#define false 0
float x4[640];
void grafik()
{
int j,i,r=0,gmode,gdriver=DETECT;
double k;
char qwe[20];
initgraph (&gdriver,&gmode,"\BGI");
setcolor (BLUE);
for(i=0;i<6;i++,r+=80)
{
line(0,r,640,r);
}
for(i=0,r=0;i0 )
{
max=true;
c*=0.1;
}
else b[0]=b[1];
}
while(!max);
if(feof(f1)) break;
do
{
fgets(buff,20,f1);
if(feof(f1)) break;
b[2]=atof(buff);
if( fabs(b[1]-b[2]) 0)&&(b[1]<0) )max=false;
if( (b[0]0) )max=false;
}
while(max);
}
while( !feof(f1)&&( a<640 ) );
if(feof(f1)){for(;a<641;a++)x4[a]=0;grafik();break;}
else
{
a=0;
grafik();
}
}
while(i);
}


Програма мовою ASSEMBLER для визначення максимума.


DOSSEG
.model small
.stack 100h
.data
message db "Програма визначення максимуму.",0dh,0ah,'$'
message_1 db "Будь-ласка натиснiть для запуску чи для виходу",0dh,0ah,'$'
message_2 db "Зачекайте будь-ласка. Програма обробляє данi!.....",0dh,0ah,'$'
message_3 db "Максимальне число по модулю = ",'$'
open_file db 'AM_test.txt',0
reg_si dw 0
buffer_3 db 8 dup(0)
buffer_2 db 8 dup(0)
buffer_1 label byte
.code
start:
mov ax,@data
mov ds,ax
mov ah,09h
mov dx,offset message
int 21h
mov dx,offset message_1
int 21h
dec ah
no_enter:
int 21h
cmp al,1bh
jnz cmp_enter
jmp exit_program
cmp_enter:
cmp al,0dh
jnz no_enter
mov ah,09h
mov dx,offset message_2
int 21h
mov ax,3d80h
xor cl,cl
mov dx,offset open_file
int 21h
mov bx,ax
xor si,si
next_letter:
mov ah,3fh
mov cx,0001h
mov dx,offset buffer_1
int 21h
dec ax
js end_file
mov al,buffer_1
cmp al,'-'
jz next_letter
cmp al,0dh
jz next_word
cmp al,0ah
jz next_word
mov byte ptr[buffer_2+si],al
inc si
jmp next_letter
next_word:
cmp si,reg_si
jz cmp_max_number
jnc change_max_1
max_no_change:
xor si,si
jmp next_letter
cmp_max_number:
mov reg_si,si
xor si,si
mov cx,reg_si
next_charter:
mov al,byte ptr[buffer_2+si]
cmp byte ptr[buffer_3+si],al
jc change_max
jnc max_no_change
inc si
loop next_charter
jmp change_max
change_max_1:
mov reg_si,si
change_max:
xor si,si
mov cx,reg_si
next_charter_1:
mov al,byte ptr[buffer_2+si]
mov byte ptr[buffer_3+si],al
inc si
loop next_charter_1
xor si,si
jmp next_letter
end_file:
mov ah,09h
mov dx,offset message_3
int 21h
xor si,si
mov cx,reg_si
mov ah,02h
next_charter_2:
mov dl,byte ptr[buffer_3+si]
int 21h
inc si
loop next_charter_2
mov ah,08h
int 21h
exit_program:
mov ah,4ch
int 21h
end start


Висновок: розроблено прогаму мовою С для побудови графіку з даних, записаних у файлі та програму мовю assembler для знаходження максимуму.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике Мета роботи: здійснити демодуляцію амплітудно_модульованого сигналу заданого послідовністю цифрових відліків. Теоретичні відомості Обробка
Оценок: 395 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru