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 45547881
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
(s01e10) Nawiedzona panna mĹ‚oda 1 Sezon 10 Odcinek Online  (22 Maj 2018, Wto 10:17 pm)
Nawiedzona panna mĹ‚oda s01e09 transmisja na ĹĽywo  (22 Maj 2018, Wto 10:17 pm)
Nawiedzona panna mĹ‚oda s01e09 gdzie obejrzeć online?  (22 Maj 2018, Wto 10:16 pm)
(s01e09) Nawiedzona panna mĹ‚oda 1 Sezon 9 Odcinek Online  (22 Maj 2018, Wto 10:16 pm)
Nawiedzona panna mĹ‚oda s01e08 gdzie obejrzeć online?  (22 Maj 2018, Wto 10:16 pm)
(s01e08) Nawiedzona panna mĹ‚oda 1 Sezon 8 Odcinek Online  (22 Maj 2018, Wto 10:15 pm)
(s01e07) Nawiedzona panna mĹ‚oda 1 Sezon 7 Odcinek Online  (22 Maj 2018, Wto 10:15 pm)
(s01e06) Nawiedzona panna mĹ‚oda 1 Sezon 6 Odcinek Online  (22 Maj 2018, Wto 10:15 pm)
(s01e05) Nawiedzona panna mĹ‚oda 1 Sezon 5 Odcinek Online  (22 Maj 2018, Wto 10:14 pm)
(s01e04) Nawiedzona panna mĹ‚oda 1 Sezon 4 Odcinek Online  (22 Maj 2018, Wto 10:14 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