POLITECHNIKA WARSZAWSKA
INSTYTUT TECHNIK WYTWARZANIA
LABORATORIUM
PODSTAW
TEORII
S Y G N A Ł U
LABORATORIUM
Zapis i odczyt sygnału w programie MATLAB
Opracował: dr inż. Leszek Moszczyński
Warszawa
2007
Imię nazwisko : ______________________________ Grupa : __
Uwagi prowadzącego
:
LAB 1
Cel ćwiczenia
Zadania do wykonania:
Odczyt plików tekstowych (na portalu EZOP znajduje się plik tekstowy z3.txt ) zapisz go na dysku
komputera.
-
Wyczyszczenie ekranu i usunięcie zmiennych z pamięci operacyjnej MATLABA,
<<clc
clear
pwd
Sprawdzamy katalog macierzysty
-
Zmiana ścieżki dostępu,
<< cd f:\
podaj właściwą ścieżkę dostępu
-
Sprawdź zawartość dysku f lub innego nośnika,
<< ls
-
Wczytanie pliku dane.txt,
<< load z3.txt –ascii
% UWAGA PLIK MUSI BYĆ WIDOCZNY W KATALOGU
-
% MACIERZYSTM
-
Sprawdź jak nazwana została zmienna reprezentująca plik z3.txt,
<< whos
-
Odczytaj zawartość pliku wpisując odczytaną nazwę,
-
To samo zadanie odczytu pliku tekstowego powtórz dla pliku tekstowego umieszczonego na
dysku komputera (wykorzystaj okienko systemowe BROWSE).
Pytania:
Czy program MATLAB pozwala odczytać inne pliki niż tekstowe? Sprawdź w helpie jakie to pliki.
Zapis danych (wektor, macierz).
1.
Zapisz wektor x złożony z 10 elementów np.:
x = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
<< x = [1 2 3 4 5 6 7 8 9];
Sprawdź jak został zapisany ten wektor. Co zyskujemy jeśli w zapisie pominięty zostanie znak
średnika.
Miejsce na odpowiedź
Pkt …………….
2.
W zapisie jak w pkt. 1 dokonaj zmiany wprowadzając wewnątrz nawiasu średniki.
<< Y = [1 2 3; 4 5 6; 7 8 9];
Co daje taki zapis? W jaki sposób utworzyć Y jeśli dysponujemy trzema wektorami zawierającymi
kolejne liczby?
Miejsce na odpowiedź
Opanowanie umiejętności odczytu i zapisu plików tekstowych danych, rysowanie zbioru danych w postaci
dyskretnej i w postaci krzywej ciągłej, odtwarzanie sygnałów zapisanych w postaci wykresów, generowanie
sygnałów dyskretnych i ich przetwarzanie.
Pkt……………………
3.
Sprawdź inny sposób tworzenia wektora.
<< z = 0:1:10;
<< v = -5:0.1:5;
Wyjaśnij powyższy sposób zapisu wektorowego z i v. Jak można ustalić długość tych wektorów
4.
Do tworzenia wektorów złożonych z zer i jedynek wykorzystywane jest polecenie zeros i ones.
Sprawdź działanie polecenia
a = [2 2 zeros(1, 5) 3 3 ones(1, 4)];
Z ilu elementów składa się wektor a? W jaki sposób zapiszesz czterokrotnie dłuższy sygnał o takiej
samej budowie ( zbudowany z tych samych elementów i występujących w tej samej kolejności) ?
Miejsce na odpowiedź
Pkt……………………
5.
Zapis sygnału (prezentacja graficzna).
1. Utwórz wektor czasu t, którego pierwszym elementem jest wartość zero, a kolejne elementy
zwiększają się z okresem próbkowania T
s
= 1. Długość wektora t powinna być równa długości
wektora a (pkt.4).
2. Narysuj sygnał a stosując polecenie
<<plot(t, a)
3. Przedstaw sygnał a w innej skali czasu uzupełniając rysunek poleceniami:
<< title (`Sygnal a`)
x label (`t`)
grid
Dlaczego ten zapis jest błędny? Czy błędy te sygnalizuje edytor MATLABA. Popraw błędy i napisz w
jaki sposób rysowany jest sygnał? Czy to dobry sposób na przedstawienie sygnału dyskretnego?
Miejsce na odpowiedź
Pkt……………………
4. Sprawdź jakie wartości uzyskasz wpisując:
<< a(3)
a(7)
Odczytaj z wykresu wartości sygnału a przy t = 1, 2, 2.5, 3. W jaki sposób obliczana jest wartość
sygnału dla t = 2.5?
5. Narysuj sygnał a stosując polecenie:
<<stem (t, a)
Porównaj zapisy sygnału uzyskane na rys. 1 i 2
<< figure (1)
plot (t, x)
figure (2)
stem(t, x)
6.
Sprawdź czy potrafisz zmodyfikować, uzupełnić sygnał o pewne nowe elementy
Do wczytanego już sygnału z3 dodaj na początku 20 elementów o wartości „0” i na końcu 5 o
wartości „1”. Zapisz polecenia. W praktyce inżynierskiej w ten sposób system może wyodrębnić (
odznaczyć) pewien analizowany fragment z większej całości.
Jak obejrzeć tak otworzony sygnał.? W jaki sposób oglądać co 4 punkt sygnału?
Miejsce na odpowiedź
Pkt……………………
7.
Zapis sygnału dyskretnego
% Wstępne czynności %1 – to numer wiersza
clear all;
close all;
%---------------------------------------------------------------
% Generacja "podstawowego" sygnału
n = 1:1:8; %5
x(1:4) = (n(1:4)-1)./4; %6
x(5:8) = ones(1,4); %7
figure(1);
subplot(2,1,1), stem(n-1,x) %8
xlabel('n')
ylabel('x')
title('Sygnał podstawowy')
Napisz co realizują linie 6,7,8 powyższego pliku.
Korzystając ze zdobytych informacji na wykładzie o zapisie sygnału napisz w jaki inny efektywny sposób
można zbudować wskazany sygnał .
Podaj matematyczny zapis tego dyskretnego sygnału..
Miejsce na odpowiedź
Pkt……………………
8.
Przekształcanie sygnału
Poniższe linie stanowią kontynuację pliku z pkt. 7.
y(2:8) = x(n(2:8)-1)
%
subplot(2,1,2), stem(n-1,y)
% xlabel('n')
ylabel(
'y'
)
title(
'Tu wpisz poprawną nazwę uzyskanej operacji na sygnale'
)
Podaj zapis w Matlabie innego przekształcenia sygnału podstawowego
Miejsce na odpowiedź
Pkt……………………
9.
Załóżmy, że ciągły sygnał x(t) jest próbkowany z okresem T
s
=0.3 sekundy pomiędzy każdą
próbką (n).Tablica poniższa pokazuje listę próbek w funkcji licznika n
Stosując instrukcje Matlaba pokaż przebieg sygnału. Oś pozioma winna być zapisana jako „Czas (s)”.
Zwróć uwagę na prawidłowe oznaczenia osi czasu: 0,0.3,0.6….s
Zapisz polecenia Matlaba
Miejsce na odpowiedź
Pkt……………………
Dobre opanowanie przedstawionych tu zagadnień będzie pomocne w zrozumieniu LAB2.
Literatura:
Materiały pomocnicze: ezop.wip.pw.edu.pl/moodle ( dostęp POTSI)
A. Kamińska, B. Pinczych. Ćwiczenia z Matlaba przykłady i zadania, MIKOM 2002,
J. Brzózka, Lech Dobraczyński, Programowanie w MATLABIE MIKOM 1998,
R. Lyons, Wprowadzenie do cyfrowego przetwarzania sygnałów, WKŁ 2000
n
x(t)
0
6.0
1
-1.3
2
-8.0
3
-11.7
4
-11.0
5
-6.0
6
1.3
7
8.0
8
11.7
9
11.0
10
6.0
11
-1.3