Funkcja kwadratowa w MATLAB

Funkcja kwadratowa w MATLAB
W tym artykule wyjaśniono, jak generować fale kwadratowe za pomocą funkcji Matlab Square ().

Ten potężny język programowania dla obliczeń naukowych ma obszerną bibliotekę funkcji do generowania fal różnych kształtów.

Poniższa sekcja wyjaśnia przy użyciu funkcji kwadratowej () do generowania fal kwadratowych. Poniżej pokażemy praktyczne przykłady i zdjęcia tworzenia fal kwadratowych o różnych parametrach i wyświetlanie ich graficznie w środowisku Matlab.

Składnia funkcji kwadratowej MATLAB

x = kwadrat (t)
x = kwadrat (t, obowiązek)

Opis funkcji Square Matlab Square

Funkcja Matlab Square () generuje fale kwadratowe z wektorów lub macierzy czasu. Ta funkcja pozwala również ustawić wartości cyklu pracy, często stosowane w modelach elektronicznych do sterowania silnikami szerokości impulsu DC (PWM). Matlab Function Square () generuje falę kwadratową w „x” z macierzy czasowej „T”. Okres fali wygenerowanej w „x” to 2Pi nad elementami „t”. Wartości wyjściowe „x” wynoszą -1 dla ujemnych pół cykli i 1 dla dodatnich połowy cykli. Cykl pracy jest ustawiany za pomocą wejścia „obowiązkowego” wysyłania procentu cyklu dodatnim wprowadzonego, gdy funkcja jest wywoływana.

Co to jest i jak utworzyć wektor czasowy do generowania fal w MATLAB

Zanim zobaczymy, jak generowana jest fala kwadratowa z tą funkcją, pokażemy krótko, jakie są wektory i macierze czasowe. Są częścią argumentów wejściowych wszystkich funkcji używanych do tworzenia fal, niezależnie od ich formy lub funkcji, która je generuje. Poniżej znajduje się wektor czasowy „T” reprezentujący jedną sekundę w czasie trwania:

t = 0 0.10000.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000


Należy wyjaśnić, że wektor czasu z dziesięcioma elementami odpowiada szybkości próbkowania 10 Hz i nie jest zalecane w praktyce. Stąd to robimy tylko Jako przykład, abyś mógł lepiej zobaczyć, o czym mówimy z powodu wektora z próbkowaniem 1 kz. Składałby się z 1000 elementów wyświetlanych na ekranie. Niska szybkość próbkowania zniekształcałaby przebieg, jak pokazano poniżej:


Następnie spójrzmy na wyrażenie jednego ze sposobów, w jaki Matlab tworzy ten rodzaj wektora regularnego interval:

t = czas start: interwał w sekundach: czas czasu;


Aby wygenerować ten wektor, musielibyśmy napisać następujący wiersz kodu:

t = 0: 0.1: 1;

Jak utworzyć falę kwadratową z funkcją Matlab Square

W tym przykładzie utworzymy falę kwadratową za pomocą funkcji kwadratu (). Fala ta ma czas trwania jednej sekundy, częstotliwość 5 Hz i amplituda +1, -1. Aby to zrobić, najpierw tworzymy wektor czasowy „t” z jednej sekundy trwania z częstotliwością próbkowania 1 kHz lub odstępami 1 ms.

t = 0: 0.001: 1;


Następnie określamy częstotliwość fali. Argument wejściowy kwadratu (), który ustawia tę wartość, jest wyrażany w radianach, więc musimy przekonwertować z Hz na radian lub wyrazić ją w tym ostatnim. Z powodów praktycznych zawsze lepiej jest wyrażać częstotliwość w HZ. Dlatego w tym przykładzie dokonamy konwersji w następujący sposób:

f = 5;
rad = f.*2.*Liczba Pi;


Po utworzeniu wektora czasu „T” i częstotliwości „rad” na Radian, teraz nazywamy funkcję kwadratu () w następujący sposób:

x = kwadrat (rad.*T)


Aby wykreślić falę w środowisku MATLAB, użyjemy następujących funkcji:

wykres (t, x);
Oś ([0 1-1.2 1.2])
siatka („on”);


W takim przypadku, ponieważ wkład cyklu pracy nie jest używany, wartość ta domyślnie wynosi 50%,. Więc Square () wytwarza falę symetryczną. Skopiuj i wklej następujący fragment do konsoli poleceń, aby wizualizować wygenerowaną falę.

% Tutaj fala jest generowana
t = 0: 0.001: 1;
Rad = 5 .* 2 .* Liczba Pi;
x = kwadrat (rad .* T );
% Tutaj fala jest wykresywana
wykres (t, x);
Oś ([0 1-1.2 1.2]);
siatka („on”);


Poniższy obraz pokazuje formę przebiegu generowaną przez funkcję kwadratową () wykreśloną w środowisku MATLAB:

Jak kontrolować częstotliwość, amplitudę, cykl pracy i szybkość próbkowania podczas generowania fali z funkcją Matlab Square ().

Ten przykład pokazuje, jak kontrolować częstotliwość, amplitudę, cykl pracy i parametry szybkości próbkowania. W tym celu utworzymy prostą aplikację konsoli, która zostanie użyta do wprowadzania tych wartości, a następnie automatycznie wykres fali wygenerowanej z parametrów wejściowych. Użyjemy funkcji mont () i input (), aby wprowadzić te parametry przez konsolę. Zapiszemy te parametry w następujących zmiennych:

s_rate: Częstotliwość próbkowania w HZ

Freq: Częstotliwość fali w HZ

Wzmacniacz: Amplituda fali

d_cycle: Cykl pracy

Zmienne te są odpowiednio przetwarzane w celu ustawienia parametrów „T_Sample” w wektorze czasu, argumenty wejściowe „RAD” i „DC” do funkcji kwadratowej () oraz współczynnik mnożenia „AMP” w celu dostosowania amplitudy falowej fali.

Poniżej widzimy pełny skrypt tej aplikacji. Aby to było czytelne, podzieliliśmy kod na sześć bloków, wyjaśniając, co każdy z nich robi w komentarzach na początku.

podczas 1
% Tutaj wprowadzamy szybkość próbkowania „s_rate” w HZ i dzieli się 1
% według tej wartości, aby uzyskać przedział czasu między próbkami
% wyrażony w sekundach „t_sample” i stwórz wektor czasu.
monit = „Wprowadź szybkość próbkowania”;
s_rate = wejście (monit);
t_sample = 1 ./ s_rate;
t = 0: T_Sample: 1;
% Tutaj wchodzimy do częstotliwości „F” w HZ fali i przekonwertuj.
% It do Radians „rad”.
monit = „Wprowadź częstotliwość”;
f = wejście (monit);
rad = f .* 2 .* Liczba Pi;
% Tutaj wprowadzamy cykl pracy „DC” wyrażony jako procent.
monit = „Wprowadź cykl pracy”;
dc = wejście (monit);
% Tutaj ustawiamy amplitudę fali.
monit = „Wprowadź amplitudę”;
amp = wejście (monit);
% Tutaj wywołujemy funkcję kwadrat () z parametrami „rad”
% ustawia częstotliwość i „DC”, który ustawia cykl pracy. Później
% mnożyliśmy wynik przez wartość przechowywaną w „amp” do
% Ustaw amplitudę fali na „x”.
x = amp * kwadrat (rad * t, dc);
% Tutaj wykazywamy wygenerowaną falę.
wykres (t, x);
oś ([0 1-5 5])
siatka („on”);
koniec


Utwórz skrypt, wklej ten kod i naciśnij „Uruchom”. Aby zamknąć aplikację, naciśnij Ctrl+C. Na poniższych obrazach możesz zobaczyć powstałe fale z różnymi parametrami wprowadzonymi do aplikacji za pośrednictwem konsoli poleceń:


Ten obraz odpowiada fali 8 Hz z szybkością próbkowania 1 kz, cykl pracy 50%i amplitudę szczytową 2.


Ten obraz odpowiada fali 10 Hz z szybkością próbkowania 10 kz, cykl pracy 85%i amplitudy szczytowej na szczyt 6


Ten obraz odpowiada fali 3 Hz z szybkością próbkowania 1 kz, cykl pracy 15%i amplitudy szczytowej na szczyt 8.

Wniosek

W tym artykule wyjaśniono, jak generować fale kwadratowe za pomocą MATLAB Function Square ().
Zawiera także krótki opis wektorów i macierzy czasowych, które tworzą argumenty wejściowe tego typu funkcji, dzięki czemu możesz uzyskać pełne zrozumienie, w jaki sposób większość generatorów przebiegu w narzędzia do analizy sygnału w MATLAB pracuje. Ten artykuł zawiera również praktyczne przykłady, wykresy i skrypty, które pokazują, jak działa funkcja kwadratowa () w MATLAB. Mamy nadzieję, że ten artykuł Matlab był pomocny. Więcej wskazówek i informacji można znaleźć w innych artykułach dotyczących Linuksa.