Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Цифрова обробка сигналів та зображень

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра «Захист інформації»  Звіт про виконання лабораторних робіт №5,6 з курсу: «ЦИФРОВА ОБРОБКА СИГНАЛІВ ТА ЗОБРАЖЕНЬ» «Розрахунок та реалізація рекурсивних та нерекурсивних цифрових фільтрів» Варіант №17 Мета роботи – отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету Simulink MatLab для їх реалізації та дослідження. Завдання 1 1.Ознайомитись із теоретичними відомостями. 2.Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у таблиці 1 вимог. Таблиця 1 № Тип фільтру Fс, Гц Rp, дБ n, порядок  17(1) ФНЧ Баттерворта 20 2 14   Лістинг програми 1-го завдання %Вхідні параметри фільтра Fc=[20]; % частота зрізу wc=[2*pi*Fc]; n=14; % порядок фільтра Rp=2; % рівень пульсації АЧХ у смузі пропускання %Коеф. АФ [bs,as] = butter(n,wc,'s'); %'s' для АФ %Графіки w=logspace(1,4); % вектор частот у логарифм. масштабі Hs=freqs(bs,as,w); % ПФ Ms=abs(Hs); As=angle(Hs); subplot(2,1,1); loglog(w/(2*pi),Ms); grid; axis([20 2000 10^-5 2 ]); subplot(2,1,2); semilogx(w/(2*pi),As);grid;axis([20 2000 -pi pi ]); % Перехід до цифрового прототипу Fs=2000; % частота вибірок Fp=450; % збіжність до тієї частоти [bd,ad]=bilinear(bs,as,Fs,Fp); figure(2); freqz(bd,ad); %Графіки АЧХ і ФЧХ ЦФ % Безпосереднє обчислення коеф. ПФ РЦФ [bz,az] = butter(n, 2*Fc/Fs ); figure(3); freqz(bz,az); % Альтернативнивне проектування РЦФ методом "yulewolk" F=[0 0.3 0.3 0.6 0.6 1]; M=[0 0 1 1 0 0]; [by,ay]=yulewalk(2*n,F,M); [Hy,fy]=freqz(by,ay,32); N=2^5; f=0:1/32:1000; H=freqz(bz,az,f,Fs); figure(4); plot(F,M,fy/pi,abs(Hy),2*f/Fs,abs(H)); S=21; T=0.2;N=2^12;Ts=T/N; t=0:Ts:T; % вектор часу A=1; fo=100; w=2*pi*fo; % параметри сигналу x=A*diric(w*t,S); X=fft(x); df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2; cx=fftshift(X); Cx=abs(cx)*Ts/T; figure(6), subplot(2,1,1); plot(t(N/2-500:N/2+500),x(N/2-500:N/2+500)) grid,set(gca,'FontName','Ariel','FontSize',11) title('Sygnal Dirichlet n') xlabel('Time (s)'),ylabel('Signal X(t)') subplot(2,1,2); stem(F(N/2-500:N/2+500),Cx(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11) %axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]), title('Spectr Dirichlet n') xlabel('Frequency (Hz)'),ylabel('Modul') y=filter(bz,az,x); Y=fft(y); df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2; cy=fftshift(Y); Cy=abs(cy)*Ts/T; figure(7), subplot(2,1,1); plot(t(N/2-500:N/2+500),y(N/2-500:N/2+500)) grid,set(gca,'FontName','Ariel','FontSize',11) title('Sygnal Dirichlet n') xlabel('Time (s)'),ylabel('Signal X(t)') subplot(2,1,2); stem(F(N/2-500:N/2+500),Cy(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11) %axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]), title('Spectr Dirichlet n') xlabel('Frequency (Hz)'),ylabel('Modul') Результати роботи програми       Завдання 2 1.Ознайомитись із теоретичними відомостями. 2. Розрахувати перші 5 коефіцієнтів нерекурсивного фільтра згідно заданого варіанту (таблиця 2) без накладання вікна. Таблиця 2 № Тип фільтру Fс, Гц n, порядок  17(1). ФНЧ 300 30   Лістинг програми 2-го завдання %Вхідні параметри НЦФ n=30;N=2^10; Fs=2000;Fq=Fs/2; Fcl=100;Fch=900; Fc=[Fcl/Fq Fch/Fq]; Fc=300; Fcn=Fc/Fq; Wc=Fc*pi; df=1; f=0:df:Fq; Hid=rectpuls(f-Fc/2,Fc); %АЧХ ідеального фільтра hio=fft(Hid); % Імпульсна характеристика ідеального фільтра dt=1/Fq; Tm=1/df; t=-Tm/2:dt:Tm/2; hiz=fftshift(hio)*df/Fq; %Комплексний спектр hid=abs(hiz); %Амплітудний спектр тобто імпульсна характеристика ідеального фільтра Win=dt*n; %Ширина прямокутного вікна hrz=hiz.*rectpuls(t,Win);%Імпульсна характеристика реального фільтра h=abs(hrz(Fq/2-(n-1)/2:Fq/2+(n-1)/2)) Hrz=ifft(hrz); % ПФ реального НЦФ Hrz=abs(Hrz); figure(1), subplot(3,1,1), plot(f,Hid), grid, subplot(3,1,2), stem(t+dt*(n-1)/2, abs(hrz)), grid, axis([-5/Fq 1.25*(n-1)/Fq -0.05 0.5]), subplot(3,1,3), plot(f,Hrz), grid, %Проектування за допомогою функції fir1 з використанням вікон h1=fir1(n,Fcn,boxcar(n+1)); % b=fir1(n,Wn,’ftype’, window); figure(2), H1=freqz(h1,1,f,Fs); M1=abs(H1); A1=angle(H1); A1=unwrap(A1); subplot(2,1,1); loglog(f,M1),grid, plot(f,M1),grid, title('АЧХ') xlabel('Frequency, [Hz]') ylabel('Modul') subplot(2,1,2); semilogx(f,A1),grid, plot(f,A1),grid, xlabel(' Frequency, [Hz]') ylabel('Faza,[Rad]') % Example of a length 31 lowpass filter. h2=firls(n,f,a) h2=firls(n,[0 .1 .2 .5]*2,[1 1 0 0]); figure(3), H2=freqz(h2,1,f,Fs); M2=abs(H2); A2=angle(H2); A2=unwrap(A2); subplot(2,1,1); loglog(f,M2),grid, plot(f,M2),grid, title('АЧХ') xlabel('Frequency, [Hz]') ylabel('Modul') subplot(2,1,2); semilogx(f,A2),grid, plot(f,A2),grid, xlabel(' Frequency, [Hz]') ylabel('Faza,[Rad]') figure(4), freqz(h1,1,f,Fs); figure(5), freqz(h2,1,f,Fs); Результати роботи програми      Висновок Виконавши дану лабораторну роботу я, отримав навики розрахунку параметрів і характеристик ФНЧ, а також навчитися застосовувати засоби програмного пакету MatLab для їх реалізації та дослідження. Також встановив, що при практичній реалізації цифрових фільтрів неминуче виникає необхідність заокруглення їх вагових коефіцієнтів і вибірок вхідного сигналу. Внаслідок заокруглення характеристики фільтрів зазнають спотворень, значення яких залежить не тільки від похибки представлення, але і від параметрів фільтра і способу його реалізації. При використанні цифрових сигнальних процесорів це пов’язано з підтримуваними форматами представлення чисел, при створенні програм обробки сигналів для ПК – з прагненням підвищити швидкодію.
Антиботан аватар за замовчуванням

22.09.2012 12:09-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!