Matlab - Programación con loop FOR

 
Vista:
Imágen de perfil de César

Programación con loop FOR

Publicado por César (16 intervenciones) el 16/05/2014 17:52:38
Buenos Dias

Quisiera que me ayuden en esta oportunidad para poder reducir el espacio de mi programa utilizando el comando FOR o otro.

Tengo 4 angulos(Q1,..), para obtener los atrasos (tau11....), obteniendo 16 en total. despues van a ser insertados en otra formula obteniendo los vectores (Vk0.....) para poder obtener la matriz (Vw), como todo es repetitivo quisiera reducirlo dentro de FOR.

Despues tengo una señal donde al tiempo se le va a restar cada un (T-tau11, T-tau12.....) y despues se le aplica la FFT, obteniendo al final 16 señales diferentes, las cuales se suman de 4 en 4, porque primero es para las que llegan al primer punto, luego al 2, 3ro y 4to punto. para poder obtener un Vector Fw.

Alguien podria ayudarme o mostrarme el camino como comenzar.

Muchas gracias.
César

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%%%%% Campo 4 sinais e 4 microfones %%%%%%
 
d1=0;d2=1;d3=2;d4=3;c=340;y=0;
r1=4;r2=7;r3=8;r4=5;
Q1=65;Q2=10;Q3=330;Q4=300;%%ângulos
F0=1000;Fs=8000;Ts=1/Fs;T=0:Ts:0.1;
A1=2;W=2*pi*F0;
 
 
%%%% ATRASO COM Q1%%%%
tau11=d1*cosd(Q1)/c;tau12=d2*cosd(Q1)/c;tau13=d3*cosd(Q1)/c;tau14=d4*cosd(Q1)/c;
 
%%%% ATRASO COM Q2%%%%
tau21=d1*cosd(Q2)/c;tau22=d2*cosd(Q2)/c;tau23=d3*cosd(Q2)/c;tau24=d4*cosd(Q2)/c;
 
%%%% ATRASO COM Q3%%%%
tau31=d1*cosd(Q3)/c;tau32=d2*cosd(Q3)/c;tau33=d3*cosd(Q3)/c;tau34=d4*cosd(Q3)/c;
 
%%%% ATRASO COM Q4%%%%
tau41=d1*cosd(Q4)/c;tau42=d2*cosd(Q4)/c;tau43=d3*cosd(Q4)/c;tau44=d4*cosd(Q4)/c;
 
Vk0=[exp(-j*W*tau11); exp(-j*W*tau12) ;exp(-j*W*tau13); exp(-j*W*tau14)];
Vk1=[exp(-j*W*tau21);exp(-j*W*tau22);exp(-j*W*tau23);exp(-j*W*tau24)];
Vk2=[exp(-j*W*tau31);exp(-j*W*tau32);exp(-j*W*tau33);exp(-j*W*tau34)];
Vk3=[exp(-j*W*tau41);exp(-j*W*tau42);exp(-j*W*tau43);exp(-j*W*tau44)];
 
%%%%% Matriz V(w) %%%%%%
Vw=[Vk0 Vk1 Vk2 Vk3];
 
 
%%% creamos sinai 1 %%%
 
 
%%% sinai 1 mic 1 %%%%
y11=A1*cos(2*pi*F0*(T-tau11)+(pi/6));
XW11=(abs(fft(y11)))'; %%%Sinai recibida no mic1 com sinai1
%%% sinai 1 mic 2 %%%%
y12=A1*cos(2*pi*F0*(T-tau12)+(pi/6));
XW12=(abs(fft(y12)))'; %%%Sinai recibida no mic2 com sinai1
%%% sinai 1 mic 3 %%%%
tempo13=(T-tau13);
y13=A1*cos(2*pi*F0*(T-tau13)+(pi/6));
XW13=(abs(fft(y13)))'; %%%Sinai recibida no mic3 com sinai1
%%% sinai 1 mic 4 %%%%
y14=A1*cos(2*pi*F0*(T-tau14)+(pi/6));
XW14=(abs(fft(y14)))'; %%%Sinai recibida no mic4 com sinai1
 
 
%%% creamos sinai 2 %%%
 
%%% sinai 2 mic 1 %%%%
tempo21=(T-tau21);
y21=A1*cos(2*pi*F0*(T-tau21)+(pi/6));
XW21=(abs(fft(y21)))'; %%%Sinai recibida no mic1 com sinai2
%%% sinai 2 mic 2 %%%%
y22=A1*cos(2*pi*F0*(T-tau22)+(pi/6));
XW22=(abs(fft(y22)))'; %%%Sinai recibida no mic2 com sinai2
%%% sinai 2 mic 3 %%%%
y23=A1*cos(2*pi*F0*(T-tau23)+(pi/6));
XW23=(abs(fft(y23)))'; %%%Sinai recibida no mic3 com sinai2
%%% sinai 2 mic 4 %%%%
y24=A1*cos(2*pi*F0*t(T-tau24)+(pi/6));
XW24=(abs(fft(y24)))'; %%%Sinai recibida no mic4 com sinai2
 
 
%%% creamos sinai 3 %%%
 
%%% sinai 3 mic 1 %%%%
y31=A1*cos(2*pi*F0*(T-tau31)+(pi/6));
XW31=(abs(fft(y31)))'; %%%Sinai recibida no mic1 com sinai3
%%% sinai 3 mic 2 %%%%
y32=A1*cos(2*pi*F0*(T-tau32)+(pi/6));
XW32=(abs(fft(y32)))'; %%%Sinai recibida no mic2 com sinai3
%%% sinai 3 mic 3 %%%%
y33=A1*cos(2*pi*F0*(T-tau33)+(pi/6));
XW33=(abs(fft(y33)))'; %%%Sinai recibida no mic3 com sinai3
%%% sinai 3 mic 4 %%%%
y34=A1*cos(2*pi*F0*(T-tau34)+(pi/6));
XW34=(abs(fft(y34)))'; %%%Sinai recibida no mic4 com sinai3
 
 
%%% creamos sinai 4 %%%
 
%%% sinai 4 mic 1 %%%%
y41=A1*cos(2*pi*F0*(T-tau41)+(pi/6));
XW41=(abs(fft(y41)))'; %%%Sinai recibida no mic1 com sinai4
%%% sinai 4 mic 2 %%%%
y42=A1*cos(2*pi*F0*(T-tau42)+(pi/6));
XW42=(abs(fft(y42)))'; %%%Sinai recibida no mic2 com sinai4
%%% sinai 4 mic 3 %%%%
y43=A1*cos(2*pi*F0*(T-tau43)+(pi/6));
XW43=(abs(fft(y43)))'; %%%Sinai recibida no mic3 com sinai4
%%% sinai 4 mic 4 %%%%
y44=A1*cos(2*pi*F0*(T-tau44)+(pi/6));
XW44=(abs(fft(y44)))'; %%%Sinai recibida no mic4 com sinai4
 
 
%%%% Sinais recibidas em todos os microfones %%%%
 
 
XW1total=XW11+XW21+XW31+XW41;
XW2total=XW12+XW22+XW32+XW42;
XW3total=XW13+XW23+XW33+XW43;
XW4total=XW14+XW24+XW34+XW44;
 
Fw=[XW1total XW2tota XW3total XW4total]';
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder