Цифровая обработка сигналов

Моделирование процесса дискретизации аналогового сигнала. Определение системной функции, комплексного коэффициента передачи, амплитудно- и фазо-частотных характеристик цифрового фильтра, спектра восьмиточечной последовательности отсчетов сигнала.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.