Цифровая обработка сигналов
Моделирование процесса дискретизации аналогового сигнала. Определение системной функции, комплексного коэффициента передачи, амплитудно- и фазо-частотных характеристик цифрового фильтра, спектра восьмиточечной последовательности отсчетов сигнала.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.12.2015 |
Размер файла | 985,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Поволжский государственный университет телекоммуникаций и информатики
Курсовая работа
по предмету: Цифровая обработка сигналов
Самара 2015
Оглавление
1. Задание №1а. Моделирование процесса дискретизации аналогового сигнала и восстановления аналогового сигнала из дискретного. Наблюдение эффектов размножения и наложения спектров
- 2. Задание №1б. Моделирование процесса дискретизации аналогового сигнала, модулированного по амплитуде, и восстановления аналогового сигнала из дискретного. Наблюдение эффектов размножения и наложения спектров
- 3. Задание №2. Определение спектра восьмиточечной последовательности отсчетов сигнала с использованием алгоритмов БПФ с прореживанием во времени и с прореживанием по частоте и выполнение обратного преобразования
- 4. Задание №3 Определение системной функции, комплексного коэффициента передачи, АЧХ и ФЧХ цифрового фильтра
- 5. Задание №4. Синтез нерекурсивного цифрового ФНЧ с линейной ФЧХ и гауссовской АЧХ методом ряда Фурье. Моделирование фильтра при действии на его входе полезного сигнала и помехи
- 6. Моделирование процесса фильтрации
- Приложения
1. Задание №1а. Моделирование процесса дискретизации аналогового сигнала и восстановления аналогового сигнала из дискретного. Наблюдение эффектов размножения и наложения спектров.
Исходные данные
Номер варианта |
X1 |
X2 |
X3 |
ц1 |
ц 2 |
ц 3 |
F1 МГц |
FД МГц |
Дt Мкс |
|
1 |
2 |
0.5 |
0.5 |
р |
0 |
0 |
1 |
8 |
1/512 |
Требуется:
1. Определить амплитудный спектр аналогового сигнала
где
x1 (t) = X1cos(2рF1t+?1)
x2(t) = X2cos(2рF2t+?2)
x3(t) = X3cos(2рF3t+?3)
2. Определить амплитудный спектр дискретного сигнала в интервале частот от 0 до 2FД+3F1, где FД - частота дискретизации. Интервал от нуля до 19 МГц
3. Выполнить моделирование аналогового сигнала, его дискретизации и восстановления аналогового сигнала из дискретного при двух значениях частоты дискретизации: первое значение FД= 8 МГц, второе значение в два раза меньше первого FД= 4 МГц. Моделирование выполняется по программе «Diskret».
4. Сравнить аналоговый сигнал, восстановленный из дискретного, с исходным аналоговым сигналом на входе дискретизатора. Сравнение выполнить при двух значениях частоты дискретизации.
Расчет частот спектральных составляющих дискретного сигнала по формуле
при k = 0
1. F=F1, f1 = F1 = 1МГц,
2. F=2F1, f2 = 2F1 = 2МГц,
3. F=3F1, f3= 3F1 = 3МГц.
При k=1
4. F=3F1, f4 = FД- 3F1 = 8-3 = 5МГц,
5. F=2F1, f5 = FД- 2F1 = 8-2 = 6МГц,
6. F=F1, f6 = FД- F1 = 8-1 = 7МГц,
7. F=F1, f7 = FД+ F1 = 8+1 = 9МГц,
8. F=2F1, f8 = FД+ 2F1 = 8+2 = 10МГц,
9. F=3F1, f9= FД+ 3F1 = 8+3 = 11МГц.
При k=2
10. F=3F1, f10 = 2FД- 3F1 = 16- 3 = 13МГц,
11. F=2F1, f11 = 2FД- 2F1 = 16 - 2 = 14МГц,
12. F=F1, f12 = 2FД- F1 = 16 - 1 = 15МГц,
13. F=F1, f13 = 2FД+ F1 = 16 + 1 = 17МГц,
14. F=2F1, f14 = 2FД+ 2F1 = 16 + 2 = 18МГц,
15. F=3F1, f15= 2FД+ 3F1 = 16 + 3 = 19МГц.
Построение спектральных диаграмм аналогового и дискретного сигналов.
Рис.1.1 Амплитудный спектр аналогового сигнала
Рис.1.2 Амплитудный спектр дискретного сигнала
Амплитудный спектр представлен в относительном масштабе по оси ординат как отношение амплитуды спектральной составляющей X к максимальной амплитуде Xmax.
Результат моделирования по программе «Diskret» в виде временных и спектральных диаграмм аналогового и дискретного сигнала
Рис.1.3 При Fд=8
Рис.1.4 Fд=4
Вывод: Так как соблюдается теорема Котельникова, то при дискретизации возникает эффект размножения спектра и восстановленный аналоговый сигнал совпадает по форме с исходным. При уменьшении частоты дискретизации в два раза, восстановленный и исходный сигнал не совпадает по форме, так как не соблюдается теорема Котельникова и происходит эффект наложения спектра.
2. Задание №1б. Моделирование процесса дискретизации аналогового сигнала, модулированного по амплитуде, и восстановления аналогового сигнала из дискретного. Наблюдение эффектов размножения и наложения спектров.
Номер варианта |
X0 |
f0 МГц |
F МГц |
FД МГц |
Дt мкс |
|
1 |
2 |
20 |
0.4 |
16 |
1/512 |
Выполняется по программе «Diskret_B» (Приложение Б). Эта программа отличается от программы «Diskret_A» только видом функции, описывающей исходный аналоговый сигнал.
Результатом выполнения программы являются временные и спектральные диаграммы аналогового и дискретного сигналов (рисунок 1.5).
Вывод: Восстановленный аналоговый сигнал идентичен сигналу на входе дискретизатора.
Рисунок 1.5 - Временные и спектральные диаграммы аналогового и дискретного сигналов при частоте несущей f0=20 МГц, частоте модуляции 0.4 МГц и частоте дискретизации FД=16 МГц
3. Задание №2. Определение спектра восьмиточечной последовательности отсчетов сигнала с использованием алгоритмов БПФ с прореживанием во времени и с прореживанием по частоте и выполнение обратного преобразования
Определение спектра последовательности xn,
где n = 0,1,2..7, методом прямого дискретного преобразования Фурье
где
, N=8, k=0,1,2..7.
Определение последовательности отсчетов сигнала xn, где n = 0,1,2..7, по известной последовательности отсчетов спектра Sk, где k = 0,1,2..7, методом обратного дискретного преобразова- ния Фурье
где n = 0,1,2..7.
Определение спектра последовательности xn,
Где n = 0,1,2..7, методом БПФ с прореживанием во времени.
Определение последовательности отсчетов сигнала xn, где n=0,1,2..7, по известной последовательности отсчетов спектра Sk, где k=0,1,2..7, методом БПФ с прореживанием во времени.
Определение спектра последовательности xn, где
n = 0,1,2..7, методом БПФ с прореживанием по частоте.
Определение последовательности отсчетов сигнала xn, где n=0,1,2..7, по известной последовательности отсчетов спектра Sk, где k=0,1,2..7, методом БПФ с прореживанием по частоте.
Номер варианта |
Последовательность x0 x1 x2 x3 x4 x5 x6 x7 |
|
1 |
3.000 3.707 4.000 3.707 3.000 2.293 2.000 2.293 |
Определим спектр заданной последовательности по программе
«Прямое ДПФ»:
,
Спектр амплитуд:
Спектр фаз:
Спектры амплитуд и фаз приведены на рисунках 2.1 и 2.2 соответственно.
Рисунок 2.1 - Спектр амплитуд.
Рисунок 2.2 - Спектр фаз
Определим последовательность отсчетов дискретного сигнала по её спектру.
.
Воспользовавшись программой «Обратное ДПФ», получим:
Воспользуемся алгоритмом прямого БПФ с прореживанием во времени для исходной последовательности
В результате получим
3. Воспользовавшись алгоритмом прямого БПФ с прореживанием во времени, выполним операции «бабочка»: на первом уровне - 4 двухточечных «бабочки», на втором уровне - 2 четырёхточечных, на третьем уровне - одна восьмиточечная.
4. Выполним перестановку членов полученной последовательности отсчетов спектра с учетом двоичной инверсии индексов. В результате получим
Подадим эту последовательность на входы двухточечных бабочек и выполним вычисления.
Воспользуемся алгоритмом БПФ с прореживанием по частоте для определения прямого преобразования последовательности
Согласно алгоритму прямого БПФ с прореживанием по частоте, выполним операции «бабочка»: на первом уровне - одна восьмиточечная «бабочка», на втором уровне - 2 четырёхточечных, на третьем уровне - четыре двухточечных. Выполним перестановку членов полученной последовательности с учетом двоичной инверсии индексов.
В результате получим
По алгоритму выполним обратное преобразование последовательности отсчетов спектра сигнал дискретизация фильтр восьмиточечный
.
Результатом этой операции является последовательность отсчетов дискретного сигнала
Выполнив перестановку членов этой последовательности с учетом двоичной инверсии индексов, получим
4. Задание №3 Определение системной функции, комплексного коэффициента передачи, АЧХ и ФЧХ цифрового фильтра
Содержание задания
Требуется:
· Определить системную функцию цифрового фильтра H(z),
· Найти комплексный коэффициент передачи K(jи) фильтра, где и = 2р fN, fN=f/FД - нормированная частота,
· Рассчитать АЧХ и ФЧХ фильтра,
· Проверить результаты расчета АЧХ и ФЧХ, воспользовавшись программой «Расчет АЧХ и ФЧХ_1»,
· Построить графики АЧХ K(fN) и ФЧХ ц(fN),
В таблице 3.1 заданы значения коэффициентов системных функций цифровых фильтров, алгоритмы функционирования которых приведены на рисунках 3.1 - 3.10.
Две первые цифры варианта задания соответствуют номеру рисунка, а третья цифра определяет вариант числовых значений коэффициентов для данного фильтра.
Таблица 3.1
Номер варианта задания |
Коэффициенты системной функции фильтра |
|
3.1.1 |
A11 = - 0.309 A12 = A11 M1 = - 0.846 M2 = 0.951 |
Рисунок 3.1
Выполнение задание №3
1. Из рисунка 3.1 видно, что
2. Воспользовавшись свойствами Z-преобразования, перейдем от разностных уравнений к уравнениям для Z-преобразований дискретных сигналов vn, xn, yn.
3. Для нахождения комплексного коэффициента передачи фильтра подставим в выражение системной функции , где j - мнимая единица,
- нормированная частота
4. Определим АЧХ фильтр
Построим график АЧХ и ФЧХ (рисунок 3.12) при изменении fN от 0 до 0.5 с шагом 0.0001. Принятый интервал изменения fN соответствует интервалу частот от 0 до . Для любой частоты внутри этого интервала выполняется теорема Котельникова.
Рисунок 3. 2 - АЧХ и ФЧХ фильтра
Проверим результаты расчета АЧХ и ФЧХ, воспользовавшись программой «Расчет АЧХ и ФЧХ_1».
Рис.3.3
Вывод: Графики, полученные в результате расчётовв программе Mathcad-15 совпадают с графиками,полученными программой «Расчет АЧХ и ФЧХ_1».
5. Задание №4. Синтез нерекурсивного цифрового ФНЧ с линейной ФЧХ и гауссовской АЧХ методом ряда Фурье. Моделирование фильтра при действии на его входе полезного сигнала и помехи
Номер варианта |
fNg |
у |
дm, дБ |
n0 |
Xp |
fNp |
|
1 |
0.05 |
-35 |
15 |
1 |
0.25 |
Содержание задания
Требуется выполнить синтез цифрового фильтра с линейной ФЧХ и АЧХ, выражаемой функцией Гаусса. Такие фильтры используются, например, при формировании сигналов гауссовской минимальной частотной манипуляции GMSK, применяемых в системе подвижной сотовой связи GSM.
Требуемая АЧХ фильтра выражается следующим соотношением
где - неравномерность АЧХ в полосе пропускания, fNg =0.05 - нормированная граничная частота полосы пропускания фильтра.Максимальный уровень пульсаций в полосе задерживания фильтра дm = -35 дБ.
Схема фильтра приведена на рисунке 1
Рисунок 4.1 - Нерекурсивный фильтр с линейной ФЧХ
Синтез фильтра выполнен по программе «FilterGauss».
Результаты синтеза:
Половина длины линии задержки фильтра K0=6.
Коэффициенты системной функции приведены в таблице 1.
АЧХ фильтра определяется следующим соотношением:
.
Таблица - Коэффициенты системной функции фильтра
Номер коэффициента k |
Значение коэффициента b(k) |
|
0 |
0.1505384 |
|
1 |
0.1401935 |
|
2 |
0.1132323 |
|
3 |
0.0793184 |
|
4 |
0.0481881 |
|
5 |
0.0253902 |
|
6 |
0.0116026 |
ФЧХ фильтра без приведения в интервал от - р до р, определяется соотношением
.
В двух последних соотношениях K0=6
Графики АЧХ и ФЧХ при K0 =4 , 9 и приведены на рисунках 2, 3 и 4 соответственно.
Рисунок 4.2 при K0=6
Рисунок 4.3 при K=4
Рисунок 4.4 при K=9
Таблица 2 - Влияние длины линии задержки на ослабление в полосе задерживания
K0 |
д в дБ |
|
4 |
-25 |
|
6 |
-40 |
|
9 |
-72 |
Вывод: при увеличении длины линии задержки пульсации уменьшаются.
6. Моделирование процесса фильтрации.
Требуется выполнить моделирование процесса фильтрации при действии на входе фильтра полезного сигнала и помехи.
Полезный сигнал представляет собой случайную последовательность элементарных посылок с уровнями 1 и -1. Количество отсчетов в элементарной посылке равно n0 = 15.
Амплитуда синусоидальной помехи Xp = 1, нормированная частота помехи равна fNp= 0.25.
Половина длины линии задержки равна K0 = 9.
При моделировании процесса фильтрации на вход фильтра подаётся сумма сигнала и помехи x (0) = xn.
Полезный сигнал представляет собой случайную последовательность прямоугольных элементарных посылок xc с уровнями 1 и -1.
При моделировании используется синусоидальная помеха, определяемая соотношением:
где Xp - амплитуда помехи, fNp - нормированная частота помехи.
Сумма сигнала и помехи x(0) = x(n) поступает на вход фильтра рисунка 4.1.
Результатом моделирования являются временные диаграммы, приведенные на рисунке 4.5
Рисунок 4.5 - Временные диаграммы входного сигнала, входного сигнала с помехой и выходного сигнала.
Вывод: Фильтр убирает помехи, частично искажая исходный сигнал.
Приложение А
// Программа "Diskret". Моделирование процесса дискретизации
// аналогового сигнала и восстановления аналогового сигнала
// из дискретного
//
// Ввод исходных данных для моделирования
//
X1=2; //Амплитуда первой гармоники
X2=0.5; //Амплитуда второй гармоники
X3=0.5; //Амплитуда третьей гармоники
phi1=%pi; //Начальная фаза первой гармоники
phi2=0; //Начальная фаза второй гармоники
phi3=0; //Начальная фаза третьей гармоники
F1=1 // Частота первой гармоники сигнала
Fd=8 // Частота дискретизации
delta_t=1/512; //Временной интервал между двумя соседними
//расчетными точками
//
// Расчет вспомогательных параметров
is=ceil(1/(F1*delta_t)); //Количество расчетных точек в периоде сигнала
id=ceil(1/(Fd*delta_t)); //Количество расчетных точек в интервале
// дискретизации
imax=64*is; // Количество расчетных точек
I=6*is; // Количество расчетных точек на графике
//
//Начальная установка (обнуление массивов)
i=zeros(1:imax);
x=zeros(1:imax);
u=zeros(1:imax);
xd=zeros(1:imax);
xv=zeros(1:imax);
s=zeros(1:imax);
sd=zeros(1:imax);
sv=zeros(1:imax);
i0=zeros(1:I);
x0=zeros(1:I);
u0=zeros(1:I);
xd0=zeros(1:I);
xv0=zeros(1:I);
t=zeros(1:I);
u=zeros(1:imax)
z=0
//
// Формирование аналогового сигнала
//
for i=1:imax
x1=X1*cos(2*%pi*F1*delta_t*i+phi1);
x2=X2*cos(4*%pi*F1*delta_t*i+phi2);
x3=X3*cos(6*%pi*F1*delta_t*i+phi3);
x(i)=x1+x2+x3;
//
// Формирование последовательности единичных отсчетов
//
z=z+1
if z = = id then z=0
end
if z= = 0 then u(i)=1
else u(i)=0
end
//
// Дискретизация аналогового сигнала
xd(i)=x(i)*u(i);
end
// Формирование массивов данных для построения графиков
for i0=1:I
x0(i0)=x(i0);
u0(i0)=u(i0);
xd0(i0)=xd(i0);
end
i0=[1:I];
t=delta_t*i0;
clf()// Очистка графического окна перед выдачей графиков
subplot(3,2,1);
xtitle('Аналоговый сигнал на входе дискретизатора')
plot(t,x0,"b")
xgrid
subplot(3,2,5);
xtitle('Последовательность единичных отсчетов')
plot2d3(t,u0)
subplot(3,2,2);
xtitle('Дискретный сигнал')
plot2d3(t,xd0,style=[color("red")])
xgrid
//
//Определение спектра аналогового и дискретного сигнала
//
s=fft(x);
sd=fft(xd);
kmax=30*floor(imax/is);
k=zeros(1:kmax);
f=zeros(1:kmax);
s0=zeros(1:kmax);
sd0=zeros(1:kmax);
k=[1:kmax];
f=k/(delta_t*imax);
for k=1:kmax
s0(k)=s(k)*2/imax;
sd0(k)=sd(k)*2/imax;
end
subplot(3,2,3)
xtitle('Спектр аналогового сигнала')
plot2d3(f,abs(s0),style=[color("blue")])
xgrid
subplot(3,2,4)
xtitle('Спектр дискретного сигнала')
plot2d3(f,abs(sd0),style=[color("red")])
xgrid
//
// Восстановление аналогового сигнала из дискретного
//
k1=floor(0.5*imax/id);// Номер отсчета спектра,
// соответствующий половине частоты дискретизации
for k=1:imax
if k<k1 then
sv(k)=sd(k);
else
sv(k)=0;
end
end
// Формирование восстановленного сигнала
xv=ifft(sv);
for i0=1:I
xv0(i0)=xv(i0);
end
subplot(3,2,6)
xtitle('Восстановленный аналоговый сигнал')
plot2d(t,xv0,style=[color("green")])
xgrid
Приложение Б
// Программа "Diskret_B". Моделирование процесса дискретизации
// модулированного аналогового сигнала и восстановления аналогового
// сигнала из дискретного
//
// Ввод исходных данных для моделирования
//
X0=2; //Амплитуда модулирующего импульса
F=0.4 // Частота импульсов
f0=20 // Частота несущей
Fd=16 // Частота дискретизации
delta_t=1/512; //Временной интервал между двумя соседними
//расчетными точками
//
// Расчет вспомогательных параметров
is=ceil(1/(F*delta_t)) //Количество расчетных точек в периоде
//модулирующего импульсного сигнала
id=ceil(1/(Fd*delta_t)) //Количество расчетных точек в интервале
// дискретизации
imax=64*is // Количество расчетных точек
I=8*is; // Количество расчетных точек на графике
//
//Начальная установка (обнуление массивов)
i=zeros(1:imax);
x=zeros(1:imax);
u=zeros(1:imax);
xd=zeros(1:imax);
xv=zeros(1:imax);
s=zeros(1:imax);
sd=zeros(1:imax);
sv=zeros(1:imax);
i0=zeros(1:I);
x0=zeros(1:I);
u0=zeros(1:I);
xd0=zeros(1:I);
xv0=zeros(1:I);
t=zeros(1:I);
u=zeros(1:imax)
z=0
//
// Формирование аналогового сигнала
//
for i=1:imax
x1=cos(2*%pi*F*delta_t*i);
x(i)=X0*(1+sign(x1))*cos(2*%pi*f0*delta_t*i);
//
// Формирование последовательности единичных отсчетов
//
z=z+1
if z = = id then z=0
end
if z= = 0 then u(i)=1
else u(i)=0
end
//
// Дискретизация аналогового сигнала
xd(i)=x(i)*u(i);
end
// Формирование массивов данных для построения графиков
for i0=1:I
x0(i0)=x(i0);
u0(i0)=u(i0);
xd0(i0)=xd(i0);
end
i0=[1:I];
t=delta_t*i0;
clf()// Очистка графического окна перед выдачей графиков
subplot(3,2,1);
xtitle('Аналоговый сигнал на входе дискретизатора')
plot(t,x0,"b")
xgrid
subplot(3,2,5);
xtitle('Последовательность единичных отсчетов')
plot2d3(t,u0)
subplot(3,2,2);
xtitle('Дискретный сигнал')
plot2d3(t,xd0,style=[color("red")])
xgrid
//
//Определение спектра аналогового и дискретного сигнала
//
s=fft(x);
sd=fft(xd);
kmax=(10*(floor(f0/10)+1)+5)*imax*delta_t;
k=zeros(1:kmax);
f=zeros(1:kmax);
s0=zeros(1:kmax);
sd0=zeros(1:kmax);
k=[1:kmax];
f=k/(delta_t*imax);
for k=1:kmax
s0(k)=s(k)*2/imax;
sd0(k)=sd(k)*2/imax;
end
subplot(3,2,3)
xtitle('Спектр аналогового сигнала')
plot2d3(f,abs(s0),style=[color("blue")])
xgrid
subplot(3,2,4)
xtitle('Спектр дискретного сигнала')
plot2d3(f,abs(sd0),style=[color("red")])
xgrid
//
// Восстановление аналогового сигнала из дискретного
//
k1=floor(0.5*imax/id);// Номер отсчета спектра,
// соответствующий половине частоты дискретизации
for k=1:imax
if k<k1 then
sv(k)=sd(k);
else
sv(k)=0;
end
end
// Формирование восстановленного сигнала
xv=ifft(sv);
for i0=1:I
xv0(i0)=xv(i0);
end
subplot(3,2,6)
xtitle('Восстановленный аналоговый сигнал')
plot2d(t,xv0,style=[color("green")])
xgrid
Приложение В
//Программа определения прямого ДПФ
N=8 // Количество отсчетов сигнала
x=zeros(1:N)
S1=zeros(1:N)
S1r=zeros(1:N)
S1i=zeros(1:N)
x=[3,3.707,4,3.707,3,2.293,2,2.293]//Последовательность
//отсчетов сигнала
Wn=exp(-%i*2*%pi/N)
disp("Отсчеты спектра")
for k=1:N
S(k)=0
for n=1:N
S(k)=S(k)+x(n)*Wn^((n-1)*(k-1))
end
Sr(k)=real(S(k))
Si(k)=imag(S(k))
if abs(Sr(k))<0.001 then S1r(k)==0
else S1r(k)=Sr(k)
end
if abs(Si(k))<0.001 then S1i(k)==0
else S1i(k)=Si(k)
end
S1(k)=S1r(k)+%i*S1i(k)
disp(S1(k))// Отсчет спектра
end
disp("Спектр амплитуд")
for k=1:N
disp(abs(S1(k)))
end
disp("Спектр фаз")
for k=1:N
phi(k)=atand(S1i(k),S1r(k))
disp(phi(k))
end
количество отсчетов сигнала N
Приложение Г
//Программа определения обратного ДПФ
N=8 //Количество отсчетов спектра
x=zeros(1:N)
x1=zeros(1:N)
S=zeros(1:N)
x1r=zeros(1:N)
x1i=zeros(1:N)
S=[24,-4*%i,0,0,0,0,0,4*%i]//Последовательность отсчетов
//спектра
Wn=exp(-%i*2*%pi/N)
disp("Отсчеты сигнала")
for n=1:N
x(n)=0
for k=1:N
x(n)=x(n)+S(k)*Wn^(-((n-1)*(k-1)))
end
xr(n)=real(x(n))
xi(n)=imag(x(n))
if abs(xr(n))<0.001 then x1r(n)==0
else x1r(n)=xr(n)
end
if abs(xi(n))<0.001 then x1i(n)==0
else x1i(n)=xi(k)
end
x1(n)=(x1r(n)+%i*x1i(n))/N
disp(x1(n))
end
Приложение Д
// Программа расчета АЧХ и ФЧХ цифрового фильтра рисунка 15
A=-0.309 ; M1=-0.846 ; M2=0.951 ;
delta_f=0.0001
fN=0:delta_f:0.5
mmax=0.5/delta_f
for m=1:mmax+1
z=%e^(%i*(m-1)*2*%pi*delta_f);
H=(1-A*z^(-1))/(1-2*A^2*z^(-1)-(M1*M2+A*A)*z^(-2)); // Системная функция фильтра
K(m)=abs(H);
phi(m)=atand(imag(H),real(H));
end
clf()
subplot(2,1,1)
xtitle("АЧХ", "fN","K")
plot(fN,K,"k")
xgrid(3)
subplot(2,1,2)
xtitle("ФЧХ","fN","phi")
plot(fN,phi,"k")
xgrid(3)
Приложение Е
//Программа синтеза нерекурсивного цифрового гауссовского ФНЧ
//
//Ввод исходных данных
K0=9 //Половина длины линии задержки
fNg=0.05 //Нормированная граничная частота фильтра
sigma=sqrt(2) //Неравномерность АЧХ в полосе
delta_m=-30 //Максимальный уровень пульсаций в дБ
// Функция, описывающая требуемую АЧХ фильтра в интервале
// нормированных частот от 0 до 0.5
function u=K(fN), u=exp(-log(sigma)*(fN/fNg)^2)
endfunction;
// Функция, описывающая требуемую АЧХ фильтра в интервале
// нормированных частот от 0 до 0.5, заданную в дБ
function ul=KdB(fN),
if K(fN)>10^-10 then ul=20*log10(K(fN))
else ul=-200
end
endfunction
delta_f=0.0001 //Шаг изменения частоты при расчете АЧХ и ФЧХ
I=ceil(0.5/delta_f)// Количество расчетных точек АЧХ на графиках
i=[1:I+1] // Массив номеров расчетных точек
fN=(i-1)*delta_f // Массив значений частот при расчете АЧХ
y=zeros(1:I+1); // Обнуление массивов y и y1
y1=zeros(1:I+1);
for i=1:I+1 // Формирование массивов значений АЧХ в расчетных
// точках
y(i)=K(delta_f*(i-1))
yl(i)=KdB(delta_f*(i-1))
end;
clf()// Очистка графического окна перед выдачей графиков
// Построение графика требуемой АЧХ в относительном масштабе
subplot(221)
xtitle("Требуемая АЧХ фильтра", "fN","K( fN )" )
plot(fN,y,"k")
xgrid(3)
// Построение графика требуемой АЧХ в дБ
subplot(222)
xtitle("Требуемая АЧХ фильтра в дБ", "f N","K l ( f N )) dB" )
plot(fN,yl,"k")
xgrid(3)
//Формирование массива коэффициентов системной функции фильтра
b0=2*intg(0,0.5,K)// Расчет коэффициента b0
b=zeros(1:K0)
function w=KC(fN, k), w=2*K(fN)*cos(2*%pi*k*fN),
endfunction
for k=1:K0
b(k)=intg(0,0.5,KC)
end
//Системная функция цифрового фильтра
function v=H(z)
v=b0
for k=1:K0
v=v+b(k)*(z^k+z^-k)
end
v=v*z^-K0
endfunction
//Расчет зависимости комплексного коэффициента передачи фильтра
// от частоты, АЧХ и ФЧХ
Kk=zeros(1:I+1)
for i=1:I+1
z=%e^(%i*2*%pi*delta_f*(i-1))
Kk=H(z) // Комплексный коэффициент передачи
if abs(Kk)>10^-10 then K0dB(i)=20*log10(abs(Kk))// АЧХ
else K0dB(i)=-200
end
fi(i)=atand(imag(Kk),real(Kk)) // ФЧХ
end
// График АЧХ
subplot(223)
xtitle("Рассчитанная АЧХ фильтра в дБ", "f N","K 0 dB ( f N )" )
plot(fN,K0dB,"k")
xgrid(3)
//График ФЧХ
subplot(224)
xtitle("ФЧХ фильтра в градусах", "f N","Angle ( f N ) в градусах" )
plot(fN,fi,"k")
xgrid(3)
// Выдача на дисплей значений коэффициентов системной функции
disp(b0)
disp(b)
Приложение Ж
// Программа моделироания цифрового ФНЧ при действии на его входе
// сигнала и помехи
// Ввод исходных данных
// Параметры фильтра
K0=9 // Половина длины линии задержки фильтра
fNg=0.05 //Нормированная граничная частота фильтра
sigma=sqrt(2) // Неравномерность АЧХ в полосе пропускания
sigma_m=-30 //Максимальный уровень пульсаций в дБ
// Параметры сигнала
n0=20 // Количество отсчетов в элементарной посылке
// передаваемого первичного сигнала
// Параметры помехи
Xp=1 // Амплитуда помехи
fNp=0.15
nmax=10*n0 // Максимальный номер отсчета
// Функция, описывающая требуемую АЧХ фильтра в интервале
// нормированных частот от 0 до 0.5
function u=K(fN), u=exp(-log(sigma)*(fN/fNg)^2)
endfunction;
b0=2*intg(0,0.5,K) // Расчет коэффициента B0
function w=KC(fN, k), w=2*K(fN)*cos(2*%pi*k*fN),
endfunction
b=zeros(1:K0)
for k=1:K0
b(k)=intg(0,0.5,KC)
end
clf()
z=0
u=0
xc=zeros(1:nmax)
x0=zeros(1:nmax)
y=zeros(1:nmax)
x=zeros(1:2*K0)
for n=1:nmax
//Формирование сигнала
z=z+1
if z==n0 then z=0
end
if z==0 then
if rand(1)< 0.5 then u =-1
else u =1
end
end
xc(n)=u
// Формирование синусоидальной помехи
xp=Xp*sin(2*%pi*fNp*n)
// Сигнал и помеха на входефильтра
x0(n)=xc(n)+xp
//subplot(311)
//xtitle("Сигнал на входе фильтра", "n","x c" )
//plot2d3(n,xc)
//subplot(312)
//xtitle("Сигнал с помехой на входе фильтра", "n","x 0" )
//plot2d3(n,x0)
y(n)=b0*x(K0)
for k=1:K0-1
y(n)=y(n)+b(k)*(x(K0-k)+x(K0+k))
end
y(n)=y(n)+b(K0)*(x0(n)+x(2*K0))
//subplot(313)
//xtitle("Сигнал на выходе фильтра", "n","y" )
//plot2d3(n,y)
for k=1:2*K0-1
x(2*K0+1-k)=x(2*K0-k)
end
x(1) =x0(n)
end
n=1:nmax
subplot(311)
xtitle("Сигнал на входе фильтра", "n","x c" )
plot(n,xc)
xgrid(3)
subplot(312)
xtitle("Сигнал с помехой на входе фильтра", "n","x 0" )
plot(n,x0)
xgrid(3)
subplot(313)
xtitle("Сигнал на выходе фильтра", "n","y" )
plot(n,y)
xgrid(3)
Размещено на Allbest.ru
Подобные документы
Моделирование процесса дискретизации аналогового сигнала, а также модулированного по амплитуде, и восстановления аналогового сигнала из дискретного. Определение системной функции, комплексного коэффициента передачи, параметров цифрового фильтра.
курсовая работа [1,5 M], добавлен 07.01.2014Подготовка аналогового сигнала к цифровой обработке. Вычисление спектральной плотности аналогового сигнала. Специфика синтеза цифрового фильтра по заданному аналоговому фильтру-прототипу. Расчет и построение временных характеристик аналогового фильтра.
курсовая работа [3,0 M], добавлен 02.11.2011Определение характера и уровня изменения сигнала амплитудно-частотного и фазо-частотного спектра. Построение графиков, расчет комплексного коэффициента передачи цепи. Особенности определения напряжения на выходе при воздействии на входе заданного сигнала.
курсовая работа [284,4 K], добавлен 29.09.2010Вычисление Z-преобразования дискретной последовательности отсчетов сигнала. Определение дискретной свертки. Порядок построения схемы нерекурсивного фильтра, которому соответствует системная функция. Отсчеты дискретного сигнала по заданным параметрам.
контрольная работа [602,7 K], добавлен 23.04.2013Выбор частоты дискретизации широкополосного аналогового цифрового сигнала, расчёт период дискретизации. Определение зависимости защищенности сигнала от уровня гармоничного колебания амплитуды. Операции неравномерного квантования и кодирования сигнала.
курсовая работа [2,0 M], добавлен 18.07.2014Общее понятие и классификация сигналов. Цифровая обработка сигналов и виды цифровых фильтров. Сравнение аналогового и цифрового фильтров. Передача сигнала по каналу связи. Процесс преобразования аналогового сигнала в цифровой для передачи по каналу.
контрольная работа [24,6 K], добавлен 19.04.2016Расчёт энергетических характеристик сигналов и информационных характеристик канала. Определение кодовой последовательности. Характеристики модулированного сигнала. Расчет вероятности ошибки оптимального демодулятора. Граничные частоты спектров сигналов.
курсовая работа [520,4 K], добавлен 07.02.2013Расчет спектральных характеристик сигнала. Определение практической ширины спектра сигнала. Расчет интервала дискретизации сигнала и разрядности кода. Определение автокорреляционной функции сигнала. Расчет вероятности ошибки при воздействии белого шума.
курсовая работа [356,9 K], добавлен 07.02.2013Временные функции, частотные характеристики и спектральное представление сигнала. Граничные частоты спектров сигналов. Определение разрядности кода. Интервал дискретизации сигнала. Определение кодовой последовательности. Построение функции автокорреляции.
курсовая работа [1,6 M], добавлен 09.02.2013Расчет спектра сигнала и его полной энергии. Определение практической ширины спектра, интервала дискретизации и разрядности кода. Расчет автокорреляционной функции кодового сигнала. Общие сведения о модуляции. Расчет спектральных характеристик и ошибок.
курсовая работа [428,2 K], добавлен 07.02.2013