Оцифровка аналогового сигнала
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине
«Цифровая обработка сигналов»
Выполнил: Чунихин В.А.
Группа: 5401 С349
Проверил: Капустин А.С.
ЗАДАНИЕ
1. Провести дискретизацию, оцифровку заданного сигнала;
2. Ограничить спектр дискретного сигнала;
3. Рассчитать частоту модуляции (АМ, ЧМ или ФМ);
4. Преобразовать модулированный сигнал в дополнительный частотный диапазон;
5. Реализовать процедуру получения дискретно-аналитического сигнала (ПГ);
6. Осуществить демодуляцию полученного сигнала и сравнить его с первоначальным сигналом.
Изобразим форму заданного сигнала по варианту, рисунок 1.
Рисунок 1 – Форма заданного сигнала
Параметры сигнала зададим в виде таблиц 1 и 2.
Таблица 1 – Временные параметры сигнала
7ms | 19ms | 27ms | 28ms | 0.08 | 0.33 |
Таблица 2 – Амплитудные параметры сигнала
-9 |
РЕФЕРАТ
Пояснительная записка: 43 страницы, 28 рисунков, 4 источника, 2 таблицы.
ДИСКРЕТИЗАЦИЯ, СПЕКТР, МОДУЛЯЦИЯ, ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА, ДЕМОДУЛЯЦИЯ.
В данной работе объектом исследования будет наш заданный сигнал. С ним будут проведены следующие преобразования: его оцифровка, ограничение по спектру, модуляция, перенос спектра в область ВЧ, получение дискретно-аналитического сигнала и демодуляция. Иными словами, будет рассмотрен простейший канал, с помощью которого добиваются электрического эквивалента нашей информации цифровыми способами. При модулировании данного тракта будет использован программный пакет MATLAB R2014a – это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуальных результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения. Его применение очень востребовано при обработке сигналов и связи во всем мире. Поэтому выбор программной среды пал именно на нем. Весь написанный код представлен в приложении А.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 7
1.ОЦИФРОВКА АНАЛОГОВОГО СИГНАЛА.. 8
2.ОГРАНИЧЕНИЕ СПЕКТРА ДИСКРЕТНОГО СИГНАЛА.. 14
3. ВЫБОР МОДУЛЯЦИИ И РАСЧЕТ МОДУЛИРОВАННОЙ ЧАСТОТЫ.. 21
4. ПРЕОБРАЗОВАНИЕ МОДУЛИРОВАННОГО СИГНАЛА В ДОПОЛНИТЕЛЬНЫЙ ДИАПАЗОН. ПРОЦЕДУРА ПОЛУЧЕНИЯ ДИСКРЕТНО-АНАЛИТИЧЕСКОГО СИГНАЛА (ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА) 24
5. ДЕМОДУЛЯЦИЯ ПОЛУЧЕННОГО СИГНАЛА И СРАВНЕНИЕ ЕГО С ПЕРВОНАЧАЛЬНЫМ СИГНАЛОМ.. 31
ЗАКЛЮЧЕНИЕ. 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 35
ПРИЛОЖЕНИЕ А.. 36
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
FFT - fast fourier transform (быстрое преобразование Фурье)
АЧХ- амплитудно-частотная характеристика
ФЧХ – фазо-частотная характеристика
ИХ – импульсная характеристика
ТЗ – техническое задание
АМ – амплитудная модуляция
БАМ – балансная амплитудная модуляция
ЦПГ – цифровой преобразователь Гильберта
КИХ – конечная импульсная характеристика
ЦПОС – цифровой процесс обработки сигналов
ПФ – полосовой фильтр
ЦФНЧ – цифровой фильтр нижних частот
ВВЕДЕНИЕ
В современном мире аналоговая схемотехника уже осталась на заднем плане, сейчас схемотехника больше похожа на конструктор LEGO, который нужно правильно собрать и знать характеристики этого “конструктора”. Однако перед тем как собирать, нужно разработать данное устройство, смоделировать его, рассмотреть например его импульсную характеристику, прозондировать разными сложными сигналами в зависимости от требований заказчика и так далее. Эти устройства состоят из различных цифровых систем. Под цифровой системой понимается преобразование аналогового сигнала в последовательность чисел с последующей обработкой этой последовательности.
Цифровая фильтрация позволяет реализовывать более сложные алгоритмы обработки сигналов, нежели аналоговая. Например, обработкой последовательности чисел может заниматься специализированный микропроцессор или микроконтроллер.
Курсовая работа ставит своей целью привить студентам практические навыки в области дискретной и цифровой обработки сигналов.
ПРЕОБРАЗОВАНИЕ МОДУЛИРОВАННОГО СИГНАЛА В ДОПОЛНИТЕЛЬНЫЙ ДИАПАЗОН. ПРОЦЕДУРА ПОЛУЧЕНИЯ ДИСКРЕТНО-АНАЛИТИЧЕСКОГО СИГНАЛА (ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА)
Цифровым преобразователем Гильберта (ЦПГ) называют линейную дискретную систему, формирующую на выходе пару дискретных сигналов, сопряженных по Гильберту (фазы сигналов отличаются на ) в заданной рабочей полосе.[3]
В нашем случае рабочая полоса была выбрана по НЧ огибающей модулированного колебания, рисунок 21.
Рисунок 21 – НЧ огибающая сигнала
Данный график был получен следующим образом:
figure;
A_m=abs(complex(x));
plot(t,A_m,'r-');grid on;
ylim([-0.5 9.5]);
title('НЧ огибающая');
xlabel('ms');
ylabel('B');
Определим полосу частот, формула (10).
где - длительность всего импульса.
ЦПГ может быть реализован на базе КИХ-фильтров 3-го и 4-го типов, ЛФЧХ которых обеспечивает сдвиг фазы на . Предпочтение отдается КИХ-фильтру 3-го типа, так как он позволяет получить импульсную характеристику (ИХ) , каждый второй отчет который равен нулю, тем самым сокращается число арифметических операций при вычислении реакции ЦПГ, что весьма важно при его реализации, например, на цифровом процессоре обработки сигналов (ЦПОС).[3]
На базе КИХ-фильтра 3-го типа можно синтезировать только полосовой фильтр (ПФ), при этом специфика требований к АЧХ ЦПГ, по сравнению с требованиями к АЧХ ПФ, будет следующей [3]:
1) АЧХ ЦПГ должна быть симметричной относительно середины основной полосы частот для получения ИХ , каждый второй отсчет которой равен нулю. Поэтому требования к АЧХ ЦПГ задаются симметрично относительно .
2) Рабочая полоса ЦПГ не должна превосходить полосу пропускания ПФ.
3) Максимально допустимое отклонение в рабочей полосе не должно быть меньше максимального допустимого отклонения в ПП.
4) Максимально допустимое отклонение в ПЗ нет необходимости задавать слишком жестко, так как эффективность ЦПГ оценивается в рабочей области.
По требованиям к АЧХ будем синтезировать ЦПГ (ПФ) минимального порядка с помощью функции firgr на базе КИХ-фильтра 3-го типа (‘hilbert’) с параметром m, равным ‘mineven’:
Fs1=220;
fk1=10;ft1=20;ft2=92;fk2=102; f=[fk1 ft1 ft2 fk2];
m=[0 1 0];
d2=0.1;d1=0.05;ripple=[d2 d1 d2];
[R,f0,m0,weight]=firpmord(f,m,ripple,Fs1);
[b,err,opt]=firgr({'mineven',R},f0,m0,ripple,'hilbert');
R=opt.order;
figure;
plot_fir(R,b,Fs1);
Наш параметр R, который задает порядок фильтра в итоге равен 24. Частоты были выбраны следующим образом:
Fs1=220; - частота дискретизации
fk1=10; - граничная частота ПЗ1
ft1=20; - граничная частота ПП1
ft2=92; - граничная частота ПП2
fk2=102 – граничная частота ПЗ2
Для вывода графиков была использована следующая функция:
function plot_fir(R,b,Fs1)
% Построение графиков характеристик КИХ-фильтра
% R-порядок КИХ-фильтра
% b-вектор коэффициентов передаточной функции
% a=[1]-коэффициент знаменателя передаточной функции
% Fs1-частота дискретизации
a=[1];n=0:R;
subplot(3,1,1),stem(n,b,'fill','MarkerSize',3),xlabel('n'),...
title('Impulse Response'),grid on;
fm=0:((Fs1/2)/200):Fs1/2;
H=freqz(b,a,fm,Fs1);MAG=abs(H);PHASE=angle(H);
subplot(3,1,2),plot(fm,MAG),xlabel('f(Hz)'),title('MAGNITUDE'),grid on;
subplot(3,1,3),plot(fm,PHASE),xlabel('f(Hz)'),title('PHASE'),grid on;
end
В итоге получилась следующая ИХ, АЧХ и ФЧХ, рисунок 22.
Рисунок 22 – Характеристики ПГ
Далее для того чтобы пропустить наш модулированный сигнал через ПГ, нужно сместить спектр модулированного сигнала в область больших частот.
Данная процедура была реализована путем домножения модулированного сигнала на , где 38 МГц – частота на которую происходило смещение.
Это было получено следующим образом в программном пакете MATLAB:
x1=z1.*cos(2*pi*38000000*t);
Получение спектра:
NFFT=2^nextpow2(length(x1));
y=fft(x1,NFFT)/length(x1);
f=dF/2*linspace(0,1,NFFT/2+1);
y=y/max(y);
figure;
subplot(2,1,1);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([0 40000000]);
grid on;
title('АЧХ сдвинутая');
ylabel('y(f)');
xlabel('f');
subplot(2,1,2);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([37989000 38011000]);
grid on;
title('АЧХ сдвинутая (увеличенный масштаб)');
ylabel('y(f)');
xlabel('f');
figure;
plot(t,x1);
grid on;
title('Сигнал сдвинутый');
ylabel('x(t)');
xlabel('t');
Изобразим выданный спектр, рисунок 23.
Рисунок 23 – Спектр модулированного сигнала после сдвига
Как видно из рисунка 23 спектр симметричен относительно 3.8 МГц, значит это действительно спектр АМ.
Далее нужно пустить наш сигнал на ПГ, где на выходе мы должны наблюдать два сигнала, отличающихся между собою по фазе на четверть периода, те мы получим ортогональное дополнение сигнала, который аналитически выглядит следующим образом, формула (11).
Функция в MATLAB, реализующая данную операцию является функция pg.
pg=hilbert(x1);
где x1 – модулированный сигнал, смещенный по частоте.
Выведем графики, показывающие .
plot(t,real(pg),'k'),grid on
hold on
plot(t,imag(pg),'--')
hold off
legend('Real Part','Imaginary Part')
Изобразим результат на рисунке 24.
Рисунок 24 – Результат прохождения сигнала через ПГ в увеличенном масштабе
ЗАКЛЮЧЕНИЕ
В ходе работы были изучены основные принципы работы цифровой обработки сигналов: оцифровка, получение дискретного спектра, перенос спектра в область высших частот и так далее. Были получены навыки работы программного пакета MATLAB: создание функций, управление частотных и временных векторов, выдача графиков, описание графиков, модулирование процессов, создание фильтров. Данные навыки необходимы для разработчиков различных цифровых систем. Суть работы заключалась в оцифровке аналогового сигнала, его пропуск через простейший канал связи и получение его на выходе системы.
ПРИЛОЖЕНИЕ А
Листинг программы MATLAB
Функция построения характеристик ПГ:
function plot_fir(R,b,Fs1)
% Построение графиков характеристик КИХ-фильтра
% R-порядок КИХ-фильтра
% b-вектор коэффициентов передаточной функции
% a=[1]-коэффициент знаменателя передаточной функции
% Fs1-частота дискретизации
a=[1];n=0:R;
subplot(3,1,1),stem(n,b,'fill','MarkerSize',3),xlabel('n'),...
title('Impulse Response'),grid on;
fm=0:((Fs1/2)/200):Fs1/2;
H=freqz(b,a,fm,Fs1);MAG=abs(H);PHASE=angle(H);
subplot(3,1,2),plot(fm,MAG),xlabel('f(Hz)'),title('MAGNITUDE'),grid on;
subplot(3,1,3),plot(fm,PHASE),xlabel('f(Hz)'),title('PHASE'),grid on;
end
Основной код программы:
clear all
%% Параметры импульса
dF=80e6; % Частота дискретизации, Гц
dt=1/dF; % Интервал дискретизации, сек
%% Формирование массива временных отсчетов
t=-1e-5:dt:28.3e-3; % отчеты временной оси
%% Прямоугольный импульс
ti1=7e-3; % Длительность импульса
x1=3*rectpuls(t-ti1/2,ti1);
subplot(2,1,1);
plot(t,x1,'k'),grid;
title('Прямоугольный импульс');
xlabel('мс');
ylabel('В');
ylim([-0.5 3.5]);
subplot(2,1,2);
stem(t,x1,'k.'),grid;
title('Прямоугольный импульс (цифра)');
xlabel('nT');
ylabel('В');
ylim([-0.5 3.5]);
NFFT=2^nextpow2(length(x1));
y1=fft(x1,NFFT)/length(x1);
f=dF/2*linspace(0,1,NFFT/2+1);
y1=y1/max(y1);
% Plot single-sided amplitude spectrum
figure;
subplot(2,1,1);
plot(f,2*abs(y1(1:NFFT/2+1)));
grid on;
title('АЧХ');
ylabel('y1(f)');
xlabel('f');
subplot(2,1,2);
plot(f,angle(y1(1:NFFT/2+1)));
grid on;
title('ФЧХ');
ylabel('y1(f)');
xlabel('f');
%% Синусоидальный импульс
t11=7e-3;
t22=19e-3;
x2=4*sin(pi*(t-t11)/12e-3).*(t>=t11).*(t<=t22);
figure;
subplot(2,1,1);
plot(t,x2,'k'),grid;
title('Синусоидальный импульс');
xlabel('мс');
ylabel('В');
ylim([-0.5 4.5]);
subplot(2,1,2);
stem(t,x2,'k.'),grid;
title('Синусоидальный импульс (цифра)');
xlabel('nT');
ylabel('В');
ylim([-0.5 4.5]);
NFFT=2^nextpow2(length(x2));
y2=fft(x2,NFFT)/length(x2);
f=dF/2*linspace(0,1,NFFT/2+1);
y2=y2/max(y2);
% Plot single-sided amplitude spectrum
figure;
subplot(2,1,1);
plot(f,2*abs(y2(1:NFFT/2+1)));
grid on;
title('АЧХ');
ylabel('y2(f)');
xlabel('f');
subplot(2,1,2);
plot(f,angle(y2(1:NFFT/2+1)));
grid on;
title('ФЧХ');
ylabel('y2(f)');
xlabel('f');
%% Треугольный импульс
t33=27e-3;
x3=3*tripuls((t-t22)-4e-3,8e-3);
figure;
subplot(2,1,1);
plot(t,x3,'k'),grid;
title('Треугольный импульс');
xlabel('мс');
ylabel('В');
ylim([-0.5 3.5]);
subplot(2,1,2);
stem(t,x3,'k.'),grid;
title('Треугольный импульс (цифра)');
xlabel('nT');
ylabel('В');
ylim([-0.5 3.5]);
NFFT=2^nextpow2(length(x3));
y3=fft(x3,NFFT)/length(x3);
f=dF/2*linspace(0,1,NFFT/2+1);
y3=y3/max(y3);
% Plot single-sided amplitude spectrum
figure;
subplot(2,1,1);
plot(f,2*abs(y3(1:NFFT/2+1)));
grid on;
title('АЧХ');
ylabel('y3(f)');
xlabel('f');
subplot(2,1,2);
plot(f,angle(y3(1:NFFT/2+1)));
grid on;
title('ФЧХ');
ylabel('y3(f)');
xlabel('f');
%% Трапецеидальный импульс
t44=28e-3;
x4=-9*trapmf(t,[t33 t33+0.08e-3 27.67e-3 t44]);
figure;
subplot(2,1,1);
plot(t,x4,'k'),grid;
title('Трапецеидальный импульс');
xlabel('мс');
ylabel('В');
ylim([-9.5 0.5]);
subplot(2,1,2);
stem(t,x4,'k.'),grid;
title('Трапецеидальный импульс (цифра)');
xlabel('nT');
ylabel('В');
ylim([-9.5 0.5]);
NFFT=2^nextpow2(length(x4));
y4=fft(x4,NFFT)/length(x4);
f=dF/2*linspace(0,1,NFFT/2+1);
y4=y4/max(y4);
% Plot single-sided amplitude spectrum
figure;
subplot(2,1,1);
plot(f,2*abs(y4(1:NFFT/2+1)));
grid on;
title('АЧХ');
ylabel('y4(f)');
xlabel('f');
subplot(2,1,2);
plot(f,angle(y4(1:NFFT/2+1)));
grid on;
title('ФЧХ');
ylabel('y4(f)');
xlabel('f');
%% Общий импульс
x=x1+x2+x3+x4;
figure;
plot(t,x,'k'),grid;
title('Общий импульс (восстановленный)');
ylim([-10 5]);
xlabel('ms');
ylabel('В');
figure;
stem(t,x,'k.');
title('Общий импульс (цифра)');
ylim([-10 5]);
grid on;
xlabel('nT');
ylabel('В');
figure;
subplot(2,1,1);
plot(t,x,'k');
grid on;
title('Общий импульс (восстановленный)');
ylim([-10 5]);
xlabel('ms');
ylabel('В');
subplot(2,1,2);
stem(t,x,'k.');
title('Общий импульс (цифра)');
ylim([-10 5]);
xlabel('nT');
ylabel('В');
grid on;
NFFT=2^nextpow2(length(x));
y=fft(x,NFFT)/length(x);
f=dF/2*linspace(0,1,NFFT/2+1);
y=y/max(y);
figure;
subplot(2,1,1);
plot(f,2*abs(y(1:NFFT/2+1)));
grid on;
title('АЧХ');
ylabel('y(f)');
xlabel('f');
subplot(2,1,2);
plot(f,angle(y(1:NFFT/2+1)));
grid on;
title('ФЧХ');
ylabel('y(f)');
xlabel('f');
%% Амплитудная Манипуляция
Fc=dF*5; % Несущая частота
FsdF = 5;
Fs=dF*FsdF;
t1=(0:length(x)*FsdF-1)/Fs;
% формирование АМн-сигнал
s_ask=x(floor(dF*t1)+1.*cos(2*pi*Fc*t1));
figure;
plot(t1,s_ask,'k'),grid;
ylim([-9.5 4.5]);
xlabel('ms');
ylabel('B');
title('Амплитудная Манипуляция');
NFFT=2^nextpow2(length(s_ask));
y6=fft(s_ask,NFFT)/length(s_ask);
f=dF/2*linspace(0,1,NFFT/2+1);
y6=y6/max(y6);
figure;
plot(f,2*abs(y6(1:NFFT/2+1)));
grid on;
xlim([0 dF/2]);
title('АЧХ');
ylabel('y(f)');
xlabel('f');
%% АМ (через функцию ammod)
t=-1e-5:dt:28.3e-3; % отчеты временной оси
%Fc=dF*0.5;
Fc=10000; % Несущая частота
z1=ammod(x,Fc,dF,0,13);
figure;
plot(t,z1),grid;
title('Амплитудная модуляция');
xlabel('ms');
ylabel('B');
NFFT=2^nextpow2(length(z1));
y5=fft(z1,NFFT)/length(z1);
f=dF/2*linspace(0,1,NFFT/2+1);
y5=y5/max(y5);
figure;
plot(f,2*abs(y5(1:NFFT/2+1)));
grid on;
xlim([0 dF/2]);
title('АЧХ');
ylabel('y(f)');
xlabel('f');
figure;
A_m=abs(complex(x));
plot(t,A_m,'r-');grid on;
ylim([-0.5 9.5]);
title('НЧ огибающая');
xlabel('ms');
ylabel('B');
%% Смещение по частоте
x1=z1.*cos(2*pi*38000000*t);
NFFT=2^nextpow2(length(x1));
y=fft(x1,NFFT)/length(x1);
f=dF/2*linspace(0,1,NFFT/2+1);
y=y/max(y);
figure;
subplot(2,1,1);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([0 40000000]);
grid on;
title('АЧХ сдвинутая');
ylabel('y(f)');
xlabel('f');
subplot(2,1,2);
plot(f,2*abs(y(1:NFFT/2+1)));
xlim ([37989000 38011000]);
grid on;
title('АЧХ сдвинутая (увеличенный масштаб)');
ylabel('y(f)');
xlabel('f');
figure;
plot(t,x1);
grid on;
title('Сигнал сдвинутый');
ylabel('x(t)');
xlabel('t');
%% Характеристики ПГ
Fs1=220;
fk1=10;ft1=20;ft2=92;fk2=102; f=[fk1 ft1 ft2 fk2];
m=[0 1 0];
d2=0.1;d1=0.05;ripple=[d2 d1 d2];
[R,f0,m0,weight]=firpmord(f,m,ripple,Fs1);
[b,err,opt]=firgr({'mineven',R},f0,m0,ripple,'hilbert');
R=opt.order;
figure;
plot_fir(R,b,Fs1);
%% ПГ
pg=hilbert(x1);
figure;
plot(t,real(pg),'k'),grid on
hold on
plot(t,imag(pg),'r-.')
hold off
legend('Real Part','Imaginary Part')
xlim([0 4.5e-7])
ylim([-14 14])
xlabel('ms');
ylabel('B');
%% Выход
yout=abs(pg);
figure;
plot(t,yout),grid on;
r=10000
yout1=decimate(yout,r);
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине
«Цифровая обработка сигналов»
Выполнил: Чунихин В.А.
Группа: 5401 С349
Проверил: Капустин А.С.
ЗАДАНИЕ
1. Провести дискретизацию, оцифровку заданного сигнала;
2. Ограничить спектр дискретного сигнала;
3. Рассчитать частоту модуляции (АМ, ЧМ или ФМ);
4. Преобразовать модулированный сигнал в дополнительный частотный диапазон;
5. Реализовать процедуру получения дискретно-аналитического сигнала (ПГ);
6. Осуществить демодуляцию полученного сигнала и сравнить его с первоначальным сигналом.
Изобразим форму заданного сигнала по варианту, рисунок 1.
Рисунок 1 – Форма заданного сигнала
Параметры сигнала зададим в виде таблиц 1 и 2.
Таблица 1 – Временные параметры сигнала
7ms | 19ms | 27ms | 28ms | 0.08 | 0.33 |
Таблица 2 – Амплитудные параметры сигнала
-9 |
РЕФЕРАТ
Пояснительная записка: 43 страницы, 28 рисунков, 4 источника, 2 таблицы.
ДИСКРЕТИЗАЦИЯ, СПЕКТР, МОДУЛЯЦИЯ, ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА, ДЕМОДУЛЯЦИЯ.
В данной работе объектом исследования будет наш заданный сигнал. С ним будут проведены следующие преобразования: его оцифровка, ограничение по спектру, модуляция, перенос спектра в область ВЧ, получение дискретно-аналитического сигнала и демодуляция. Иными словами, будет рассмотрен простейший канал, с помощью которого добиваются электрического эквивалента нашей информации цифровыми способами. При модулировании данного тракта будет использован программный пакет MATLAB R2014a – это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуальных результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения. Его применение очень востребовано при обработке сигналов и связи во всем мире. Поэтому выбор программной среды пал именно на нем. Весь написанный код представлен в приложении А.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 7
1.ОЦИФРОВКА АНАЛОГОВОГО СИГНАЛА.. 8
2.ОГРАНИЧЕНИЕ СПЕКТРА ДИСКРЕТНОГО СИГНАЛА.. 14
3. ВЫБОР МОДУЛЯЦИИ И РАСЧЕТ МОДУЛИРОВАННОЙ ЧАСТОТЫ.. 21
4. ПРЕОБРАЗОВАНИЕ МОДУЛИРОВАННОГО СИГНАЛА В ДОПОЛНИТЕЛЬНЫЙ ДИАПАЗОН. ПРОЦЕДУРА ПОЛУЧЕНИЯ ДИСКРЕТНО-АНАЛИТИЧЕСКОГО СИГНАЛА (ПРЕОБРАЗОВАТЕЛЬ ГИЛЬБЕРТА) 24
5. ДЕМОДУЛЯЦИЯ ПОЛУЧЕННОГО СИГНАЛА И СРАВНЕНИЕ ЕГО С ПЕРВОНАЧАЛЬНЫМ СИГНАЛОМ.. 31
ЗАКЛЮЧЕНИЕ. 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 35
ПРИЛОЖЕНИЕ А.. 36
СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ
FFT - fast fourier transform (быстрое преобразование Фурье)
АЧХ- амплитудно-частотная характеристика
ФЧХ – фазо-частотная характеристика
ИХ – импульсная характеристика
ТЗ – техническое задание
АМ – амплитудная модуляция
БАМ – балансная амплитудная модуляция
ЦПГ – цифровой преобразователь Гильберта
КИХ – конечная импульсная характеристика
ЦПОС – цифровой процесс обработки сигналов
ПФ – полосовой фильтр
ЦФНЧ – цифровой фильтр нижних частот
ВВЕДЕНИЕ
В современном мире аналоговая схемотехника уже осталась на заднем плане, сейчас схемотехника больше похожа на конструктор LEGO, который нужно правильно собрать и знать характеристики этого “конструктора”. Однако перед тем как собирать, нужно разработать данное устройство, смоделировать его, рассмотреть например его импульсную характеристику, прозондировать разными сложными сигналами в зависимости от требований заказчика и так далее. Эти устройства состоят из различных цифровых систем. Под цифровой системой понимается преобразование аналогового сигнала в последовательность чисел с последующей обработкой этой последовательности.
Цифровая фильтрация позволяет реализовывать более сложные алгоритмы обработки сигналов, нежели аналоговая. Например, обработкой последовательности чисел может заниматься специализированный микропроцессор или микроконтроллер.
Курсовая работа ставит своей целью привить студентам практические навыки в области дискретной и цифровой обработки сигналов.
ОЦИФРОВКА АНАЛОГОВОГО СИГНАЛА
Для того чтобы перейти к цифровому виду нужно выбрать частоту дискретизации. По теореме Котельникова она находится следующим образом, формула (1).
Однако работая с реальными сигналами, данной частоты оказывается недостаточно и формула 1 преобразовывается в следующий вид, формула (2).
где в свою очередь принимает любые целые числа.
В нашей работе нет смысла для нахождения (верхней частоты) спектра рассматривать весь набор импульсов, можно рассмотреть лишь тот у которого самый широкий спектр, то есть самый узкий во временной области. В данном сигнале это трапецеидальный импульс, чья длительность равна только лишь . Изобразим данный импульс на рисунке 2.
Рисунок 2 – Трапецеидальный импульс
При построении данного импульса было использовано следующее математическое описание в программе Mathcad, формула (3).
Теперь с помощью преобразования Фурье (FFT) перейдем в частотную область, формула (4).
Построим АЧХ, рисунок 3.
Рисунок 3 – АЧХ трапецеидального импульса
Теперь возьмем верхнюю частоту по длительности импульса, формула (5).
Чтобы доказать что по формуле (1) частоты дискретизации будет недостаточно попробуем сначала с ней поработать, то есть .
После того как выбрали частоту дискретизации, которую скорее всего придется увеличить в дальнейшем, так как при 2кГц будут ошибки при восстановлении, можно перейти к MATLAB.
Для того чтобы изобразить наш сигнал на временной оси с интервалом дискретизации в MATLAB нужно задать массив временных отсчетов. Он задается следующим образом: t=-1e-5:dt:28.3e-3.
Теперь зададим наши импульсы поочередно и просто их просуммируем в конце – получится первоначальный импульс.
Прямоугольный импульс:
ti1=7e-3; % Длительность импульса
x1=3*rectpuls(t-ti1/2,ti1);
Синусоидальный импульс:
t11=7e-3;
t22=19e-3;
x2=4*sin(pi*(t-t11)/12e-3).*(t>=t11).*(t<=t22);
Треугольный импульс:
x3=3*tripuls((t-t22)-4e-3,8e-3);
Трапецеидальный импульс:
t33=27e-3;
t44=28e-3;
x4=-9*trapmf(t,[t33 t33+0.08e-3 27.67e-3 t44]);
Общий импульс:
x=x1+x2+x3+x4;
Для вывода графика используется функция plot, выглядит она следующим образом: plot(t,x,'k');
Где t – это массив временных отсчетов, который мы задали в начале, x – сам сигнал, а ‘k’ означает, что график будет черного цвета. Изобразим выданный график на рисунке 4.
Рисунок 4 – Общий импульс (восстановленный)
Восстановление происходит с помощью теоремы Котельникова, формула (6).
Как видно из рисунка 4 с данной дискретизацией, прямоугольник больше похож на трапецию, второй ноль пропал, а трапеция напоминает треугольник, те восстановление произошло с большой ошибкой. Отсюда делаем вывод, что нужно увеличить частоту дискретизации. Путем экспериментального подбора, нашу частоту дискретизации пришлось увеличить в 50 раз, так как при меньшей частоте дискретизации информация о переднем фронте трапеции была не ясна, он выглядел как вертикальная линия. Это связано с тем, что по заданию у нас очень маленький интервал по времени этого фронта, всего 0,08ms. Изобразим восстановленный сигнал на рисунке 5.
Рисунок 5 – Общий импульс (восстановленный) после увеличения частоты дискретизации
Изобразим его в дискретной форме, рисунок 6.
Рисунок 6 – Общий импульс в цифровой форме
Как видно из данного рисунка для хорошего восстановления понадобилось много отсчетов, для наглядности также изобразим передний фронт трапеции в увеличенном масштабе, покажем, сколько выборок понадобилось для его точного восстановления, рисунок 7.
Рисунок 7 – Передний фронт трапеции в дискретной форме
По рисунку видно, что для точного восстановления переднего фронта понадобилось 9 выборок.
Таким образом, мы оцифровали наш импульс, здесь можно подытожить, что разработчику приходится выбирать достаточно большую частоту дискретизации для точного восстановления формы сигнала, чтобы сохранить всю информацию о нем. Особенно, если форма сигнала – быстроменяющаяся.