Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomo¶ci FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Automatyzacja Programu/Analiza Danych
Forum MATLAB Strona Główna-> MATLAB
Post Wysłany: 19 Styczenia 2018, Pi± 8:51 pm Temat postu: Automatyzacja Programu/Analiza Danych Odpowiedz z cytatem
 
AUTOR:
Rat666



Doł±czył: 19 Sty 2018
Posty: 2


Ogl±da profil użytkownika Wy¶lij prywatn± wiadomo¶ć
Witam, w skrócie, napisałem program który wczytuje dane sygnału z interferometru Michelsona. Dane te są dBm więc w programie zmieniam je kolejno na mW.
Dzięki programowi muszę wyszukiwać prążek zerowy, czyli pasmo w którym jest najmniejsza częstotliwość(największy między falami)

W chwili obecnej program robi:
-tnie sygnał wzdłuż, w skazanym miejscu, chciałbym by robił to w wskazanym przedziale np od 0.9 do -0.9 co 0.01? --pętla?
-kolejno po przecięciu z wyciętego odcinka tworzy wykres na którym widać gdzie znajduje się odstęp. po analizie wszystkich pasm od góry do dołu i podzieleniu na 2 jesteśmy w stanie wyciągnać a raczej potwierdzić istnienie w tym miejscu prążka zerwoego, niestety nie wiem za pomocą czego mogę to wykonać(analizę tego odstępu) by długość była zapisywana, --FFT ?

Czy ktoś byłby w stanie pomóc mi z tym tematem ?

Kod:
clear; clc;
[lam1, R1] = read_spectrum_csv('W0006.CSV');
[lam2, R2] = read_spectrum_csv('W0007.CSV');
[lam , I1] = read_spectrum_csv('W0008.CSV');
[~ , I2] = read_spectrum_csv('W0009.CSV');
[~ , I3] = read_spectrum_csv('W0010.CSV');
[~ , I4] = read_spectrum_csv('W0011.CSV');
R1 = 10.^(R1/10);
R2 = 10.^(R2/10);
I1 = 10.^(I1/10);
I2 = 10.^(I2/10);
I3 = 10.^(I3/10);
I4 = 10.^(I4/10);
%set(figure(1), 'Color', 'w');
%semilogy(lam, I1, '-k');
%hold on;
%semilogy(lam, I2, '-k');
%semilogy(lam, I3, '-k');
%semilogy(lam, I4, '-k');
%semilogy(lam1, R1, '-r');
%semilogy(lam2, R2, '-b');
% https://pl.wikipedia.org/wiki/DBm
C1 = (I1 - R1 - R2)./sqrt(R1.*R2)/2;
C2 = (I2 - R1 - R2)./sqrt(R1.*R2)/2;
C3 = (I3 - R1 - R2)./sqrt(R1.*R2)/2;
C4 = (I4 - R1 - R2)./sqrt(R1.*R2)/2;
set(figure(2), 'Color', 'w');
plot(lam, C1, '-k');
hold on;
plot(lam, C2, '-r');
plot(lam, C3, '-g');
plot(lam, C4, '-b');
tol = mean(diff(lam));
ref_lvl = 0.6;
idx = (find(abs(C1) < tol));
set(figure(3), 'Color', 'w');
plot(lam(abs(C1 - ref_lvl) < tol), '.k');
hold on;
plot(lam(abs(C2 - ref_lvl) < tol), '.r');
plot(lam(abs(C3 - ref_lvl) < tol), '.g');
plot(lam(abs(C4 - ref_lvl) < tol), '.b');


 

Forum MATLAB Strona Główna-> MATLAB
Wy¶wietl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 42111689
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
ZlecÄ™ wykonanie przenoĹ›nika taĹ›mowego w MATLAB simulink  (21 Lutego 2018, Sro 2:00 pm)
BOTOKS - 4 ODCINKI SERIALU [ZA DARMO]  (21 Lutego 2018, Sro 8:40 am)
Top Gear {S25E01} online napisy PL 25x01 CDA/Zalukaj  (20 Lutego 2018, Wto 9:54 pm)
Falling Water {S02E08} online napisy PL 2x08 CDA/Chomikuj  (20 Lutego 2018, Wto 9:50 pm)
The Seven Deadly Sins {S02E07} online napisy PL 2x07 CDA  (20 Lutego 2018, Wto 9:46 pm)
Waco {S01E05} online napisy PL 1x05 CDA/Zalukaj/Chomikuj  (20 Lutego 2018, Wto 9:41 pm)
The Magicians (Magicy) {S03E07} online napisy PL 3x07 CDA  (20 Lutego 2018, Wto 9:37 pm)
Stargate: Origins {S01E04} online napisy PL 1x4 CDA/Zalukaj  (20 Lutego 2018, Wto 9:32 pm)
Wojny magazynowe {S11E21} online napisy PL 11x21 CDA  (20 Lutego 2018, Wto 9:29 pm)
Katastrofy w przestworzach {S18E02} online napisy PL 18x02  (20 Lutego 2018, Wto 9:23 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz zał±czać plików na tym forum
Nie możesz ¶ci±gać plików na tym forum