Analiza sygnału: x(t)=4×sin^3 8000πt×cos3000πt
Zadania:
Dobór parametrów próbkowania (częstotliwości oraz ilości próbek)
Przeprowadzić szybką transformatę Fouriera
Przekształcenie wzoru sygnału:
x(t)=4×sin^3 8000πt×cos3000πt
x(t)=4×sin^2 8000πt×(sin8000πt×cos3000πt)
x(t)=4×sin^2 8000πt×(1/2[sin(11000πt)+sin(5000πt)])
x(t)=2×sin^2 8000πt×[sin(11000πt)+sin(5000πt)]
W przekształceniu wykorzystany został wzór:
sinαcosβ= 1/2[sin(α+β)+sin(α-β)]
Kolejnym etapem analizy sygnału jest określenie maksymalnej częstotliwości:
f_max=ω/2π=11000π/2π=5,5kHz
Zgodnie z kryterium Nyquista:
f_s≥11kHz
Wybrana przeze mnie częstotliwość równa się 16kHz.
Następną rzeczą jest wyznaczenie ilości próbek N dla 1 i 2 okresów sygnału:
Dla 1 okresu: N=64;
Dla 2 okresów: N=128;
t=linspace(0,(4/2)*0.001,10000);
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t));%przebieg badanej funkcji dla 1 okresu
subplot(3,2,1)
plot(t,x) %rysuj wykres x=f(t)
title('x=f(t)')
xlabel('t')
ylabel('x')
grid on
N=64; %liczba próbek
fs=16000; %częstotliwość próbkowania
ts=1/fs; %okres probkowania
m=fs/N; %rozdzielczość próbkowania
t=linspace(0,(N-1)*ts,N); %dyskretyzacja czasu
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t)); %próbkowanie sygnału
A=[x] %wektor próbek
subplot(3,2,3)
stem(fs*t,x) %rysuj próbkowany sygnał x=f(n)
title('x=f(n)')
xlabel('n')
ylabel('x')
X=fft(x); %wyznacz wartości z analizy fft
f=linspace(0,fs-m,N) %dyskretyzacja czestotliwości
subplot(3,2,5)
stem(f,X) %rysuj fft X=f(f)
title('X=f(f)')
xlabel('f')
ylabel('X')
t=linspace(0,(8/2)*0.001,10000);
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t));%przebieg badanej funkcji dla 2 okresów
subplot(3,2,2)
plot(t,x) %rysuj wykres x=f(t)
title('x=f(t)')
xlabel('t')
ylabel('x')
grid on
N=128; %liczba próbek
fs=16000; %częstotliwość próbkowania
ts=1/fs; %okres probkowania
m=fs/N; %rozdzielczość próbkowania
t=linspace(0,(N-1)*ts,N); %dyskretyzacja czasu
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t)); %próbkowanie sygnału
A=[x] %wektor próbek
subplot(3,2,4)
stem(fs*t,x) %rysuj próbkowany sygnał x=f(n)
title('x=f(n)')
xlabel('n')
ylabel('x')
X=fft(x); %wyznacz wartości z analizy fft
f=linspace(0,fs-m,N) %dyskretyzacja czestotliwości
subplot(3,2,6)
stem(f,X) %rysuj fft X=f(f)
title('X=f(f)')
xlabel('f')
ylabel('X')
Powyżej przedstawiłem moją analizę danego sygnału x. Powyższy sygnał musi zostać odfiltrowany za pomocą sygnału: S_a (2π12500t)=sin(25000πt)/25000πt. Proszę o pomoc w rozwiązaniu tego zadania. Czy ktoś mógłby napisać jak się za to zabrać?
Pozdrawiam
Zadania:
Dobór parametrów próbkowania (częstotliwości oraz ilości próbek)
Przeprowadzić szybką transformatę Fouriera
Przekształcenie wzoru sygnału:
x(t)=4×sin^3 8000πt×cos3000πt
x(t)=4×sin^2 8000πt×(sin8000πt×cos3000πt)
x(t)=4×sin^2 8000πt×(1/2[sin(11000πt)+sin(5000πt)])
x(t)=2×sin^2 8000πt×[sin(11000πt)+sin(5000πt)]
W przekształceniu wykorzystany został wzór:
sinαcosβ= 1/2[sin(α+β)+sin(α-β)]
Kolejnym etapem analizy sygnału jest określenie maksymalnej częstotliwości:
f_max=ω/2π=11000π/2π=5,5kHz
Zgodnie z kryterium Nyquista:
f_s≥11kHz
Wybrana przeze mnie częstotliwość równa się 16kHz.
Następną rzeczą jest wyznaczenie ilości próbek N dla 1 i 2 okresów sygnału:
Dla 1 okresu: N=64;
Dla 2 okresów: N=128;
t=linspace(0,(4/2)*0.001,10000);
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t));%przebieg badanej funkcji dla 1 okresu
subplot(3,2,1)
plot(t,x) %rysuj wykres x=f(t)
title('x=f(t)')
xlabel('t')
ylabel('x')
grid on
N=64; %liczba próbek
fs=16000; %częstotliwość próbkowania
ts=1/fs; %okres probkowania
m=fs/N; %rozdzielczość próbkowania
t=linspace(0,(N-1)*ts,N); %dyskretyzacja czasu
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t)); %próbkowanie sygnału
A=[x] %wektor próbek
subplot(3,2,3)
stem(fs*t,x) %rysuj próbkowany sygnał x=f(n)
title('x=f(n)')
xlabel('n')
ylabel('x')
X=fft(x); %wyznacz wartości z analizy fft
f=linspace(0,fs-m,N) %dyskretyzacja czestotliwości
subplot(3,2,5)
stem(f,X) %rysuj fft X=f(f)
title('X=f(f)')
xlabel('f')
ylabel('X')
t=linspace(0,(8/2)*0.001,10000);
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t));%przebieg badanej funkcji dla 2 okresów
subplot(3,2,2)
plot(t,x) %rysuj wykres x=f(t)
title('x=f(t)')
xlabel('t')
ylabel('x')
grid on
N=128; %liczba próbek
fs=16000; %częstotliwość próbkowania
ts=1/fs; %okres probkowania
m=fs/N; %rozdzielczość próbkowania
t=linspace(0,(N-1)*ts,N); %dyskretyzacja czasu
x=4*((sin(8000*pi*t).^3).*cos(3000*pi*t)); %próbkowanie sygnału
A=[x] %wektor próbek
subplot(3,2,4)
stem(fs*t,x) %rysuj próbkowany sygnał x=f(n)
title('x=f(n)')
xlabel('n')
ylabel('x')
X=fft(x); %wyznacz wartości z analizy fft
f=linspace(0,fs-m,N) %dyskretyzacja czestotliwości
subplot(3,2,6)
stem(f,X) %rysuj fft X=f(f)
title('X=f(f)')
xlabel('f')
ylabel('X')
Powyżej przedstawiłem moją analizę danego sygnału x. Powyższy sygnał musi zostać odfiltrowany za pomocą sygnału: S_a (2π12500t)=sin(25000πt)/25000πt. Proszę o pomoc w rozwiązaniu tego zadania. Czy ktoś mógłby napisać jak się za to zabrać?
Pozdrawiam