PRZETWARZANIE SYGNAŁÓW LABORATORIUM

Podobne dokumenty
Andrzej Leśnicki Laboratorium CPS Ćwiczenie 0 1/17 ĆWICZENIE 0. Wprowadzenie do programu MATLAB

WOJSKOWA AKADEMIA TECHNICZNA

WOJSKOWA AKADEMIA TECHNICZNA

Podstawy Przetwarzania Sygnałów

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

do MATLABa programowanie WYKŁAD Piotr Ciskowski

7. Szybka transformata Fouriera fft

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Układy i Systemy Elektromedyczne

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 7 1/7 ĆWICZENIE 7. Splot liniowy i kołowy sygnałów

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Detekcja zespołów QRS w sygnale elektrokardiograficznym

Laboratorium Przetwarzania Sygnałów

Transformata Fouriera i analiza spektralna

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Laboratorium Przetwarzania Sygnałów Biomedycznych

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

1.Wstęp W ćwiczeniu bada się zestaw głośnikowy oraz mikrofon pomiarowy z wykorzystaniem sekwencji MLS opis w załącznikui skrypcie- [1].oraz poz.

Laboratorium Przetwarzania Sygnałów Biomedycznych

analogowego regulatora PID doboru jego nastaw i przetransformowanie go na cyfrowy regulator PID, postępując według następujących podpunktów:

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

Laboratorium Inżynierii akustycznej. Przetwarzanie dźwięku - wprowadzenie do efektów dźwiękowych, realizacja opóźnień

Obliczenia w programie MATLAB

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Filtracja obrazów. w dziedzinie częstotliwości. w dziedzinie przestrzennej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Laboratorium Przetwarzania Sygnałów

Ćwiczenie nr 11. Projektowanie sekcji bikwadratowej filtrów aktywnych

Przetwarzanie sygnałów

LABORATORIUM AKUSTYKI MUZYCZNEJ. Ćw. nr 12. Analiza falkowa dźwięków instrumentów muzycznych. 1. PODSTAWY TEORETYCZNE ANALIZY FALKOWEJ.

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

Układy i Systemy Elektromedyczne

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Implementacja filtru Canny ego

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

8. Realizacja projektowanie i pomiary filtrów IIR

ZASTOSOWANIA PRZEKSZTAŁCENIA ZET

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Analiza obrazów - sprawozdanie nr 2

Wydział Inżynierii Mechanicznej i Mechatroniki. Mateusz Saków

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Laboratorium Techniki ultradźwiękowej w diagnostyce medycznej

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Przetwarzanie obrazów rastrowych macierzą konwolucji

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Wprowadzenie do środowiska

Podstawy OpenCL część 2

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

AKADEMIA GÓRNICZO HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Elektroniki

Podstawy MATLABA, cd.

GENERACJA PRZEBIEGU SINUSOIDALNEGO.

Laboratorium Przetwarzania Sygnałów

Macierz A nazywamy macierzą systemu, a B macierzą wejścia.

FFT i dyskretny splot. Aplikacje w DSP

Laboratorium Cyfrowego Przetwarzania Obrazów

MATLAB - laboratorium nr 1 wektory i macierze

Katedra Elektrotechniki Teoretycznej i Informatyki

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Pomiary hałasu. Obiektami pomiarowymi są silniki indukcyjne Wiefama STK90 S-2 o następujących danych znamionowych:

Przetwarzanie sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Politechnika Białostocka

8. Analiza widmowa metodą szybkiej transformaty Fouriera (FFT)

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

AiR_CPS_1/3 Cyfrowe przetwarzanie sygnałów Digital Signal Processing

DYSKRETNA TRANSFORMACJA FOURIERA

Ćwiczenie 3. Właściwości przekształcenia Fouriera

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

Technologie informacyjne lab. 3

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

b n y k n T s Filtr cyfrowy opisuje się również za pomocą splotu dyskretnego przedstawionego poniżej:

ANALIZA HARMONICZNA DŹWIĘKU SKŁADANIE DRGAŃ AKUSTYCZNYCH DUDNIENIA.

Ćwiczenie 6. Transformacje skali szarości obrazów

Języki Modelowania i Symulacji

PRZEWODNIK PO PRZEDMIOCIE

Filtracja obrazu operacje kontekstowe

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

ĆWICZENIE 6 Transmitancje operatorowe, charakterystyki częstotliwościowe układów aktywnych pierwszego, drugiego i wyższych rzędów

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Katedra Elektrotechniki Teoretycznej i Informatyki

Zad. 3: Układ równań liniowych

Rys. 1 Schemat układu obrazującego 2f-2f

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Transkrypt:

2018 AK 1 / 5 PRZETWARZANIE SYGNAŁÓW LABORATORIUM Ćw. 0 Wykonujący: Grupa dziekańska: MATLAB jako narzędzie w przetwarzaniu sygnałów Grupa laboratoryjna: (IMIĘ NAZWISKO, nr albumu) Punkty / Ocena Numer komputera: Data i godzina wykonania ćwiczenia: Zadania 1. Za pomocą komendy help (p. przykład 1) zapoznaj się z opisami wybranych przez siebie działań, funkcji, skryptów. 2. Odczytaj wartość liczby pi z możliwie dużą ilością cyfr (p. przykład 2, MATLAB jako kalkulator). 3. Przećwicz działania na macierzach wzorując się na przykładzie 3. 4. Wzorem przykładu 4 zbadaj, o ile szybsze jest MATLABowe wykonanie działań na macierzach od tego samego działania wykonanego z użyciem instrukcji for. Przykładowo można badać szybkość obliczenia iloczynu skalarnego w zależności od długości sygnału x[1:n]. Służy temu skrypt czasilskal.m: %czasilskal %Porównanie czasów obliczenia iloczynu skalarnego <x,x> %(mocy sygnału x[1:n]). Jeden raz obliczenia wykonano %z użyciem matlabowej instrukcji x*x' i drugi raz z użyciem %instrukcji for. %Czasy obliczeń wykreślono we wspólnym układzie współrzędnych. %Nie można dawać zbyt dużego N, bo zabraknie czasu na zajęciach, %tak długotrwałe są obliczenia. %Wynik silnie zależy od szybkości komputera i wersji MATLABa. %W nowszych wersjach w zasadzie nie ma tak wielkich różnic %(nie ma niebezpieczństwa przekroczenia czasu, a raczej pamięci), %ale np. w starszych MATLABach 4, 5 różnica jest ogromna. for k=1:40 N(k)=k*5000; x=pi*ones(1,n(k)); tic ilskal=0; for m=1:n(k), ilskal=ilskal+x(m)*x(m); end tfor(k)=toc; tic ilskal=x*x'; tmat(k)=toc; end plot(n,tfor,'bo:',n,tmat,'r*:') title('czas obliczenia iloczynu skalarnego<x,x>:kółka-instrukcja for,gwiazdki-instrukcja matlabowa')

2018 AK 2 / 5 xlabel('długość wektora x') ylabel('czas w sekundach') clear Rys. 12. Wykres czasu obliczenia iloczynu skalarnego 5. Wykreśl wybrany przez siebie sygnał lub funkcję (impuls jednostkowy, skok jednostkowy, sygnał 2 świergotowy (chirp) cos(2 f t ), krzywa rezonansowa, charakterystyki częstotliwościowe i 0 t rozkłady zer i biegunów transmitancji H s, z H, itp.). Wzoruj się na przykładach 5, 6, 7, 8, 9. 6. Wygeneruj własny dźwięk pisząc własny skrypt tonszum1.m na wzór skryptu tonszum.m (przykład 10). Może to być pojedynczy ton czysty lub zaszumiony lub chirp. Ewentualnie może to być sygnał dwutonowy jak przy dwutonowym wybieraniu numeru telefonicznego. W poniższej tabeli podano pary częstotliwości tonów dla poszczególnych cyfr i znaków. Częstotliwości 1209 Hz 1336 Hz 1477 Hz 1633 Hz 697 Hz 1 2 3 A 770 Hz 4 5 6 B 852 Hz 7 8 9 C 941 Hz * 0 # D Na przykład tonowemu wybieraniu numeru telefonicznego 58 347 17 64 towarzyszy dźwięk, który usłyszymy posługując się skryptem telefon.m (posłuchaj przykładu dając >>telefon, następnie napisz własny skrypt telefon1.m): % Wybieranie tonowo numeru telefonicznego f=[697,770,852,941,1209,1336,1477]; % Zestaw częstotliwości tonów

2018 AK 3 / 5 T=0.5; % Czas wybierania (w sekundach) jednej cyfry numeru telefonicznego fs=8000; % Szybkość próbkowania t=0:1/fs:t; % Dyskretyzacja czasu % Dwutonowe kodowanie cyfr od 1 do 0, czyli od c1 do c0 c1=sin(2*pi*f(1)*t)+sin(2*pi*f(5)*t); c2=sin(2*pi*f(1)*t)+sin(2*pi*f(6)*t); c3=sin(2*pi*f(1)*t)+sin(2*pi*f(7)*t); c4=sin(2*pi*f(2)*t)+sin(2*pi*f(5)*t); c5=sin(2*pi*f(2)*t)+sin(2*pi*f(6)*t); c6=sin(2*pi*f(2)*t)+sin(2*pi*f(7)*t); c7=sin(2*pi*f(3)*t)+sin(2*pi*f(5)*t); c8=sin(2*pi*f(3)*t)+sin(2*pi*f(6)*t); c9=sin(2*pi*f(3)*t)+sin(2*pi*f(7)*t); c0=sin(2*pi*f(4)*t)+sin(2*pi*f(6)*t); % Sygnał numeru telefonicznego 58 347 17 64 x=[c5,zeros(1,300),c8,zeros(1,2000),c3,zeros(1,300),c4,zeros(1,300),c7,... zeros(1,2000),c1,zeros(1,300),c7,zeros(1,2000),c6,zeros(1,300),c4]; % Odsłuchanie wybieranego tonowo numeru telefonicznego sound(x,fs) Rzadko kiedy piszemy własne skrypty MATLABowe od podstaw - szkoda na to czasu. Nie inaczej jest w tym ćwiczeniu. Przekopiujmy już istniejący skrypt, zmieńmy jego nazwę i dokonajmy w nim interesujących nas zmian. Na koniec zajęć wykasujmy nasze już niepotrzebne skrypty. Wprawdzie, jeśli je pozostawimy, to nic strasznego się nie stanie, ale przeczy to dobremu obyczajowi nie zaśmiecania komputera. 7. Przetwórz cyfrowo dźwięk wzorując się na przykładach 11, 12, 13, 14. Na przykład przepuść sygnał dźwiękowy przez filtr dolnoprzepustowy o określonej odpowiedzi impulsowej: >> load handel.mat >> sound(y,fs) % Odsłuchanie dźwięku oryginalnego >> h=[1,1,1]/3; % Odpowiedź impulsowa h[n] prostego filtru dolnoprzepustowego >> % uśrednianie każdych kolejnych trzech próbek >> u=conv(y,h); % Przepuszczenie sygnału przez filtr (operacja splotu) >> sound(u,fs) % Odsłuchanie przefiltrowanego dźwięku (stłumione wyższe tony) 7. Stwórz własny obraz, na przykład kolorową kratkę, pisząc własny skrypt kratka2.m na wzór skryptu kratka1.m (p. przykład 15). 8. Przetwórz cyfrowo obraz (p. przykłady 16, 17). Na przykład, nałóż na obraz oryginalny obraz odbity (jak na ekranie telewizora z niedopasowaną anteną), skrypt obrazodbity.m : % Obraz odbity [x]=imread('circuit.tif'); % Załadowanie obrazu do obszaru roboczego (format uint8) [M,N]=size(x); % Wymiary obrazu, liczba wierszy i kolumn subplot(221); imshow(x); title('obraz oryginalny') % Podgląd oryginalnego obrazu y=double(x); % Zmiana formatu z uint8 na double h1=[1,zeros(1,20),1]; % Odpowiedź impulsowa pojedynczego odbicia for k=1:m, z(k,:)=0.5*conv(h1,y(k,:)); end % Przepuszczenie sygnału obrazu przez filtr h1 subplot(222); imshow(uint8(z)); title('pojedyncze odbicie') % Obraz z pojedynczym odbiciem clear z % Usunięcie zmiennej z z obszaru roboczego h2=[1,zeros(1,20),1,zeros(1,20),1]; % Odpowiedź impulsowa podwójnego odbicia for k=1:m, u(k,:)=0.333*conv(h2,y(k,:)); end % Przepuszczenie sygnału obrazu przez filtr h2 subplot(223); imshow(uint8(u)); title('podwójne odbicie')% Podgląd obrazu z podwójnym %odbiciem

2018 AK 4 / 5 clear u % Usunięcie zmiennej u h3=[1,zeros(1,20),1,zeros(1,20),1,zeros(1,20),1]; % Odpowiedź impulsowa potrójnego dbicia for k=1:m, v(k,:)=0.25*conv(h3,y(k,:)); end % Przepuszczenie sygnału obrazu przez filtr h3 subplot(224); imshow(uint8(v)); title('potrójne odbicie') % Podgląd obrazu z potrójnym % odbiciem clear v x y % Usunięcie zmiennych v, x, y Inny przykład, przefiltruj sygnał obrazu przez filtr dolnoprzepustowy w celu zmniejszenia szumów (rozmycie ziarna obrazu) obrazfiltr.m : [x]=imread('circuit.tif'); % Załadowanie obrazu do obszaru roboczego (format uint8) [M,N]=size(x); % Ustalenie rozmiaru macierzy subplot(121); imshow(x); title('obraz oryginalny') % Podgląd oryginalnego obrazu y=double(x); % Zmiana formatu z uint8 na double hdp=[1,1,1,1,1]/5; % Odpowiedź impulsowa h[n] prostego filtru dolnoprzepustowego, % uśrednianie każdych kolejnych pięciu próbek for k=1:m, v(k,:)=conv(hdp,y(k,:)); end % Przepuszczenie sygnału obrazu przez filtr hdp, % filtrowanie tylko wierszami subplot(122); imshow(uint8(v)); title('obraz odszumiony') % Podgląd obrazu odszumionego, usunięcie ziarna z obrazu clear v x y % Usunięcie zmiennych v, x, y Tutaj dokonano filtracji jednowymiarowej (po liniach). Ściśle, powinno się stosować filtry dwuwymiarowe, w najprostszym przypadku należy filtrować po wierszach i po kolumnach. Jeszcze inne przykłady przetwarzania obrazów są zawarte w skryptach obrazekbmp.m, obrazekfiltr.m, obrazekkolory.m, obrazekodbity.m, obraznotch.m. Rys. 13. Odbicia obrazu obrazekodbity.m 9. Przećwicz posługiwanie się interfejsem graficznym parabola.m (>>parabola).

2018 AK 5 / 5 Rys. 14. Zmiana kształtu paraboli w zależności od wartości współczynnika b 10. Przećwicz posługiwanie się interfejsami graficznymi SmithChart.m (>>SmithChart) i Smith.m (>>Smith). Rys. 15. Wykres Smitha, interfejs graficzny SmithChart.m