Нехай задано проаналізувати АЧХ фільтра з такими параметрами сигналу: l = 0,1, ...,31; А = 1, 2,...,100; S = 8, 16; Q = -64...64; N = 0,1, …, 31.
Згідно ф-ли 11.6 формуємо масиви значень синусів та косинусів:
for(i = 0; i < N; i++)
{
sin0[i] = sin(2*pi*i/N);
cos0[i] = cos(2*pi*i/N);
}
for(i = 0; i < SN; i++)
{
sin1[i] = sin(2*pi*i/SN);
cos1[i] = cos(2*pi*i/SN);
}
де N – розмір перетворення, а SN – добуток N та S .
Обчислюється значення дійсної та уявної складової як результат добутку та (див. ф-лу 11.5). Значення синусів та косинусів вибираємо із масивів отриманих на попередньому етапі:
for(i = 0; i < N; i++)
{
a = (abs(S*l+Qmin)*i)%SN;
b = l*i%N;
Re += A*cos1[a]*cos0[b] + A*sin1[a]*sin0[b];
Im += A*cos1[a]*sin0[b] - A*sin1[a]*cos0[b];
}
Обчислюємо значення координати Y для відображення результату:
Y[j] = sqrt(pow(Re, 2) + pow(Im, 2));
Лістинг програми наведений у Додатку.
При запуску програми з’являється вікно.
Рис.11.6. Головне вікно програми
Зміна параметрів проводиться шляхом натиску мишкою на стрілки, що містяться біля кожного поля праворуч.
Для перегляду результату у графічному представленні натисніть клавішу <Vizualize>. Графік АЧХ наведений на рис.11.7.
Рис.11.7. Графік АЧХ
Для отримання табличного представлення результату необхідно натиснути клавішу <Table>. Фрагмент значень АЧХ наведений в табл.11.1.