Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
20.01.2015, 14:43
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Tovarisch Посмотреть сообщение
Почему-то преподаватель взял сигнал 1 120градусов 120, шум=5, посчитал сигма, которое = 0.3750
У меня не получается (менял только первую часть)
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function main
clc
global s ap_fl
 
ap_fl = 0; % установить 1 если сигнал апериодический
 
S = [1 -1 -1]; 
 
s = abs(S); % амплитуды сигнала
fi = angle(S); % фазы сигналов
%Fi0 = [0;diff(fi(:))];  % разности фаз
Fi0 = fi(:);
Fi1 = Fi0;
Sigm0 = Sigma(Fi0) % нач. значение сигма
 
h = 120*pi/180; % приращение 
for i = 2:length(Fi0) % для каждой компоненты фазы, кроме первой
    df = zeros(size(Fi0)); % заготовка массива приращения из нулей
    df(i) = h; % приращение i-й компоненты
    Sigma(Fi0+df)
end
 
end
получается:
Code
1
2
3
4
5
6
7
8
Sigm0 =
   0.3519 - 0.0000i
 
ans =
   0.3056 - 0.0000i
 
ans =
    0.3056
т.е. сигма не возрастает и макс. значение получается 0.3519
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2015, 14:43
Ответы с готовыми решениями:

Как влияет длительность импульса на спектр фаз или амплитуд периодического сигнала?
Вообще может посоветуете, где об этом написано. Уменьшили мы длительность импульса, а фазы начали скакать какие-то вверх, то другие вниз,...

После нескольких итераций перестает заходить в цикл for (для t)
Здравствуйте, уважаемые! Такая проблемка, есть две функции, при пошаговом прогоне в первой обнаружился косяк. При первом прогоне все ок,...

Методы оптимизации. Транспортная 3адача. Цикл.
Здраствуйте! У меня возникли проблемы с реализацией алгоритма нахождения цикла для транспортной задачи. Помогите, если не трудно,...

72
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
20.01.2015, 15:09
сделал рисовалку зависимости сигма от изменения отдельных компонент фазы:
программа и рисунки
Matlab M
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
function main
clc
global s ap_fl
 
ap_fl = 0; % установить 1 если сигнал апериодический
 
S = [1 -1 -1];
 
s = abs(S); % амплитуды сигнала
fi = angle(S); % фазы сигналов
%Fi0 = [0;diff(fi(:))];  % разности фаз
Fi0 = fi(:);
Fi1 = Fi0;
Sigm0 = Sigma(Fi0) % нач. значение сигма
 
h = 90*pi/180; % приращение
for i = 1:length(Fi0) % для каждой компоненты фазы, кроме первой
    figure
    plotS(Fi0,i,[-h h]);
end
 
end
 
 
%*** Вспомогательные функции ***
%*******************************
function u = calcS(F) % функция расчета комплексного сигнала
global s
F = F(:); % делаем столбец
s = s(:); % делаем столбец
u = s.*exp(1i*F); % умножаем амплитуды на экспонету
end
 
function w = calcW(F) % функция расчета фильтра
global Rn ap_fl
n = length(F);
S = calcS(F); % вычисляем сигнал
R = 0;
if ap_fl==1 % если сигнал апериодичен
    B = [zeros(n-1,1); S; zeros(n-1,1)]; % дополняем массив нулями
    for i = 1:2*n-1 % сдвигаем окно
        ss = B(i:i+n-1); % берем кусочек массива из окна
        R = R + ss*ss';
    end
else % если сигнал периодичен
    for k=1:length(F)
        ss = circshift(S,k-1);
        R = R + ss*ss';
    end
end
N0 = 5; % шум
Rn = R + N0*eye(size(R));
w = Rn\S;
end
 
function Z = Sigma(Fi) % функция расчета сигмы
global Rn
S = calcS(Fi);
W = calcW(Fi);
Z = abs(W'*S)^2/(W'*Rn*W);
end
 
function g = gradS(F) % функция расчета градиента
h = 0.0001*pi/180; % приращение 0.1 градус
g = zeros(size(F)); % заготовка вектора градиента
for i = 1:length(F) % для каждой компоненты фазы, кроме первой
    df = zeros(size(F)); % заготовка массива приращения из нулей
    df(i) = h; % приращение i-й компоненты
    g(i) = (Sigma(F+df)-Sigma(F-df))/(2*h); % классическая формула производной
end
end
 
function y=plotS(fi,k,dT)
a = dT(1);
b = dT(2);
x = linspace(a,b,100);
for i = 1:length(x)
    df = zeros(size(fi)); % заготовка массива приращения из нулей
    df(k) = x(i); % приращение i-й компоненты
    y(i) = Sigma(fi+df);
end
plot(x+fi(k),abs(y),'b',fi(k),abs(Sigma(fi)),'.r')
title(['Зависимость \Sigma от ',num2str(k),'-й компоненты фазы'])
end




*красная точка - это начальное значение фазы

Действительно видно, что при изменении первой компоненты (которую нам строго-настрого запретили менять ) сигма достигает макс. значения 0.375...
1
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
20.01.2015, 16:30
Кстати, почему нельзя использовать встроенные функции матлаба для поиска максимума? будет проще и точнее
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
20.01.2015, 17:38  [ТС]
1. Не понимаю почему у Вас не получаеся при 120 градусах, сигма=0.3750
2. Встроенные функции как в Вашей первой программе?

Не по теме:

Узнала у преподавателя, почему не нужно менять первую фазу, он сказал:
"Есть отношение сигнал/помеха. Есть любой вектор фаз, если включить и первую фазу, а затем разделить все на первый элемент, то получится такое же отношение сигнал/помеха. (какое такое же, я не допоняла)
Он заранее знает, какой бы не получился вектор, если все поделить на первое значение, то первый элемент будет равен =1. Поэтому нет смысла его менять, ведь лишнее число, это лишние вычисления.":gsmile:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
20.01.2015, 19:20
1. потому, что я к первой фазе не прибавл 120 градусов
2. да, остальное бкз изменений.

я уже разобрался, что прибавление числа ко всем фазам не меняет сигму, но если подбирать компоненты кроме первой, то получим не то (0.3519) и уменьшение кол-ва вычислений на одно практически не повлияет на программу, особенно когда пойдут длинные сигналы (N>>1)
Просто можно из результата отнять первую фазу, тогда получим подходящий вид вектора фаз

так почему нельзя использовать готовые функции?
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
20.01.2015, 21:41  [ТС]
Благодарю за ответы)
я думаю, что можно использовать встроенные функции, ведь программа с этими функциями дает увеличение сигмы))
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
21.01.2015, 15:49
Меня вчера посетила мысля, которую я наконец проверил и испытал
Действительно, можно положить первую фазу 0, и менять только разности, которых будет на одну меньше, чем фаз в тоже время, если первая фаза известна (0), то зная разности dFi можно найти все фазы Fi
В матлабе есть подходящие функции:
diff - находит межэлементные разности
cumsum - накопительная сумма, с помощью которой можно восстановить фазы из разностей.
Но это только препреамбула
А мысля была такой: если у нас три фазы, то получим две разности: df12 = fi2-fi1, df23 = fi3-fi2, т.е. получаем функцию Sigma от двух переменных, по которой можно построить наглядную поверхность!
Matlab M
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
function main
global s ap_fl
clc
 
ap_fl = 0; % установить 1 если сигнал апериодический
S = [1 -1 -1];
 
s = abs(S); % амплитуды сигнала
fi = angle(S); % фазы сигналов
dFi0 = diff(fi); % разности фаз
Sigm0 = Sigma(dFi0);
 
[df12 df23] = meshgrid(pi/2:0.1:2*pi, -pi/2:0.1:pi/2);
Sigm = zeros(size(df12));
for i = 1:size(df12,1)
    for j = 1:size(df12,2)
        q = [df12(i,j) df23(i,j)];
        Sigm(i,j) = Sigma(q);
    end
end
surf(df12, df23, abs(Sigm))
xlabel('d\phi_{12}')
ylabel('d\phi_{23}')
 
invSigma = @(x) 1./Sigma(x); % делаем обратную ф-цию
dFi_opt = fminsearch(invSigma, dFi0); % находим минимум обратной функции
 
F_opt = [0; cumsum(dFi_opt(:))] % оптимальные фазы
Sigm_opt = Sigma(dFi_opt) % макс. значение сигма
 
hold on % дорисовываем точки
plot3(dFi0(1),dFi0(2),abs(Sigm0),'*b') % начальное значение
plot3(dFi_opt(1),dFi_opt(2),abs(Sigm_opt),'*r') % макс. значение
 
end
 
 
%*** Вспомогательные функции ***
function Z = Sigma(dF) % функция расчета сигмы
global ap_fl s
 
% рассчитываем сигнал:
F = [0; cumsum(dF(:))]; % делаем столбец и формируем фазы
s = s(:); % делаем столбец
S = s.*exp(1i*F); % умножаем амплитуды на экспонету
 
% рассчитываем фильтр:
n = length(F);
R = 0;
if ap_fl==1 % если сигнал апериодичен
    B = [zeros(n-1,1); S; zeros(n-1,1)]; % дополняем массив нулями
    for i = 1:2*n-1 % сдвигаем окно
        ss = B(i:i+n-1); % берем кусочек массива из окна
        R = R + ss*ss';
    end
else % если сигнал периодичен
    for k=1:n
        ss = circshift(S,k-1);
        R = R + ss*ss';
    end
end
N0 = 5; % шум
Rn = R + N0*eye(size(R));
W = Rn\S;
 
% рассчитываем сигму:
Z = abs(W'*S)^2/(W'*Rn*W);
end



*для сигналов большей длинны поверхность не нарисуешь, так что нужно убрать строки 11-23 и 31-33

** в матлабе есть встроенная функция fminsearch (строка 26), которая находит минимум, поэтому, чтобы найти максимум Sigma(x) я сделал обратную функцию invSigma (строка 25) и искал значение dFi соответствующее ее минимуму Смекаешь?

***оптимальные фазы, могут получиться больше 2*pi (т.к. там суммы), но так как они периодичны можно вычесть целое число периодов или что тоже самое - взять остаток от деления на 2*pi:

Fi_opt = mod(Fi_opt, 2*pi)
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
21.01.2015, 22:19  [ТС]
Здравствуйте
Наглядная поверхность для меня что-то новое. Пытаюсь пока строить графики корреляционной функции для сигналов, при мин. сигме и макс.
1. Преподаватель уверен, что для кода Баркера сигма должна расти
2. Еще задал параллельно с сигма считать какое-то похожее на сигму выражение ро( как я поняла отношение сигнал/шум), я его записала в таком виде:

Matlab M
1
ro=(W'*S)^2/((W)'*W*(S)'*S)
но не понимаю как в Вашу программу его записать
3. Для n=15, программа выбивает:
Exiting: Maximum number of function evaluations has been exceeded
- increase MaxFunEvals option.
Current function value: 1.448015
Не могу понять где можно увеличить.

Не по теме:

Огромное спасибо за помощь, мне очень неловко, что отнимаю у Вас время:confusion:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.01.2015, 10:04
Лучший ответ Сообщение было отмечено Tovarisch как решение

Решение

3. Увеличил параметр MaxFunEvals (строка 19) и сообщение пропало (хотя оно впринципе и так довольно близко приближалось к нужной точке)
подробней об опциях можешь посмотреть здесь и здесь.
1. Для кода Баркера действительно увеличивается, но не много: Sigm0=0.7157, Sigm_opt=0.7199
что похоже на правду
2. Не проблема дописал еще одну подфункцию (строки 71-76)
Matlab M
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
function main
global s ap_fl
clc
 
ap_fl = 0; % установить 1 если сигнал апериодический
S = [+1 +1 +1 +1 +1 -1 -1 +1 +1 -1 +1 -1 +1];
 
s = abs(S); % амплитуды сигнала
fi = angle(S); % фазы сигналов
dFi0 = diff(fi); % разности фаз
Sigm0 = Sigma(dFi0)
r_0 = Rho(dFi0)
 
disp('Делаем оптимизацию.......')
plot(abs(xcorr(calcS(dFi0))))
title('АКФ исходного сигнала')
 
invSigma = @(x) 1./Sigma(x); % делаем обратную ф-цию
opts = optimset('MaxFunEvals',5000); % устанавливаем макс. число итераций
dFi_opt = fminsearch(invSigma, dFi0, opts); % находим минимум обратной функции
 
F_opt = [0; cumsum(dFi_opt(:))] % оптимальные фазы
Sigm_opt = Sigma(dFi_opt) % макс. значение сигма
r_opt = Rho(dFi_opt)
figure
plot(abs(xcorr(calcS(dFi_opt))))
title('АКФ оптимального сигнала')
end
 
 
%*** Вспомогательные функции ***
%*******************************
function u = calcS(dF) % функция расчета комплексного сигнала
global s
F = [0; cumsum(dF(:))]; % делаем столбец и формируем фазы
s = s(:); % делаем столбец
u = s.*exp(1i*F); % умножаем амплитуды на экспонету
end
 
function w = calcW(dF) % функция расчета фильтра
global Rn ap_fl
S = calcS(dF); % вычисляем сигнал
 
F = [0; cumsum(dF(:))]; % делаем столбец и формируем фазы
n = length(F);
R = 0;
if ap_fl==1 % если сигнал апериодичен
    B = [zeros(n-1,1); S; zeros(n-1,1)]; % дополняем массив нулями
    for i = 1:2*n-1 % сдвигаем окно
        ss = B(i:i+n-1); % берем кусочек массива из окна
        R = R + ss*ss';
    end
else % если сигнал периодичен
    for k=1:length(F)
        ss = circshift(S,k-1);
        R = R + ss*ss';
    end
end
N0 = 5; % шум
Rn = R + N0*eye(size(R));
w = Rn\S;
end
 
function Z = Sigma(dF) % функция расчета сигмы
global Rn
S = calcS(dF);
W = calcW(dF);
Z = abs(W'*S)^2/(W'*Rn*W);
end
 
function ro = Rho(dF) % функция расчета ро
S = calcS(dF);
W = calcW(dF);
% рассчитываем ро:
ro = (W'*S)^2/(W'*W*S'*S);
end
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
22.01.2015, 12:16  [ТС]
Добрый день
1. Матлаб сразу выбивает ошибку в строке 14.
2. Нельзя ли вместо наглядной поверхности выводить простой график возрастания сигмы и ро?

Не по теме:

Благодарю за ответы!:gsmile:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.01.2015, 12:24
1. Проверь, все ли правильно скопировалось. Ошибок быть не должно.
2. График возрастания врядли получится, т.к. у нас только две точки: сигма начальное и оптимальное
Если бы мы вручную искали максимум градиентным методом, то можно было бы нарисовать значения на каждом шаге, но мне не хочется применять этот метод, т.к. там есть неприятные подводные камни, как то - начальная точка расположена в точке минимума, где градиент равен нулю.
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
22.01.2015, 13:37  [ТС]
1. Вы как всегда правы!!
2. А можно сделать таким образом: убрать точку с запятой с 68 строки и по этим сигмам построить график, это будет верно?
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.01.2015, 14:42
Лучший ответ Сообщение было отмечено Tovarisch как решение

Решение

Хм... в принципе да, можно попробовать
Matlab M
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
function main
global s ap_fl j U
clc
 
ap_fl = 0; % установить 1 если сигнал апериодический
S = [+1 +1 +1 +1 +1 -1 -1 +1 +1 -1 +1 -1 +1];
 
s = abs(S); % амплитуды сигнала
fi = angle(S); % фазы сигналов
dFi0 = diff(fi); % разности фаз
Sigm0 = Sigma(dFi0)
r_0 = Rho(dFi0)
 
disp('Делаем оптимизацию.......')
 
invSigma = @(x) 1./Sigma(x); % делаем обратную ф-цию
j = 1;
U = Sigm0;
opts = optimset('MaxFunEvals',5000); % устанавливаем макс. число итераций
dFi_opt = fminsearch(invSigma, dFi0, opts); % находим минимум обратной функции
F_opt = [0; cumsum(dFi_opt(:))] % оптимальные фазы
Sigm_opt = Sigma(dFi_opt) % макс. значение сигма
r_opt = Rho(dFi_opt)
 
plot(abs(U))
title('Динамика увеличения \Sigma')
xlabel('Номер итерации')
 
end
 
 
%*** Вспомогательные функции ***
%*******************************
function u = calcS(dF) % функция расчета комплексного сигнала
global s
F = [0; cumsum(dF(:))]; % делаем столбец и формируем фазы
s = s(:); % делаем столбец
u = s.*exp(1i*F); % умножаем амплитуды на экспонету
end
 
function w = calcW(dF) % функция расчета фильтра
global Rn ap_fl
S = calcS(dF); % вычисляем сигнал
 
F = [0; cumsum(dF(:))]; % делаем столбец и формируем фазы
n = length(F);
R = 0;
if ap_fl==1 % если сигнал апериодичен
    B = [zeros(n-1,1); S; zeros(n-1,1)]; % дополняем массив нулями
    for i = 1:2*n-1 % сдвигаем окно
        ss = B(i:i+n-1); % берем кусочек массива из окна
        R = R + ss*ss';
    end
else % если сигнал периодичен
    for k=1:length(F)
        ss = circshift(S,k-1);
        R = R + ss*ss';
    end
end
N0 = 5; % шум
Rn = R + N0*eye(size(R));
w = Rn\S;
end
 
function Z = Sigma(dF) % функция расчета сигмы
global Rn j U
S = calcS(dF);
W = calcW(dF);
Z = abs(W'*S)^2/(W'*Rn*W);
U(j) = Z;
j = j+1;
end
 
function ro = Rho(dF) % функция расчета ро
S = calcS(dF);
W = calcW(dF);
% рассчитываем ро:
ro = (W'*S)^2/(W'*W*S'*S);
end
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
22.01.2015, 18:18  [ТС]
А как узнать уровень боковых лепестков и пика, кроме как на графике измерять, можно ли где-то в work space проследить?

Не по теме:

А то преподаватель хочет, чтоб я считала для двух графиков отношение квадрата пика/сумме квадратов всех боковых лепестков, по его мнению, это отношение должно быть равно сигме.
Благодарю Вас за ответы, без Вас я бы не справилась!:gsmile:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
22.01.2015, 22:07
Tovarisch, гляди, когда мы считаем АКФ сигнала длинны n, то получаем вектор длинны 2*n-1, причем главный пик приходится на n-й отсчет! этим я и воспользуюсь (воткни где-то после 12й строки):
Matlab M
1
2
3
4
5
6
% считаем отношение по АКФ
n = length(calcS(dFi0));
R = xcorr(calcS(dFi0));
r_glav = R(n); % уровень главного лепестка
r_bok = R([1:n-1, n+1:end]); % уровни боковых лепестков
nu0 = abs( r_glav^2 / sum(r_bok.^2) )
Вот только значения сильно отличаются от сигма: nu0 = 14.0833, nu_opt = 27.9106

*еще хочу обратить внимание, что ф-ция xcorr считает АКФ для апериодического сигнала!
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
22.01.2015, 23:45  [ТС]
А такая программа подходит для периодического сигнала?

Matlab M
1
2
3
4
5
6
7
8
clear all
Bseq=[ 0.1111 -0.1250 -0.1111]; 
% коэффициенты фильтра
seq=[1 -1 -1];
r=xcorr(seq,[Bseq, Bseq, Bseq]);
r=abs(r)
figure (1);
plot(r);grid on;

Не по теме:

У меня тоже получились большие значения этого отношения,когда посчитала с графика пик и лепестки, поэтому спросила у Вас.:gsmile:Очень странно, преподаватель опять что-то не договорил.:gsad:
Спасибо, я не знала, что только для апериодического, и не понимаю почему так.:gsad:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.01.2015, 14:58
Цитата Сообщение от Tovarisch Посмотреть сообщение
r=xcorr(seq,[Bseq, Bseq, Bseq]);
это верно, но нужно брать не весь результат, а среднюю часть
думаю, что нужно сделать рассчет корреляции вручную, в зависимости от значения ap_fl

*а нужно считать корреляцию сигнала с фильтром? а то я считал автокорреляцию сигнала...
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
23.01.2015, 15:32  [ТС]
А как можно посмотреть конечный сигнал, с максимальной сигмой?

Не по теме:

Преподаватель не сказал какую корреляцию делать,типа, сама догадайся:gcray:

0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.01.2015, 15:45
Цитата Сообщение от Tovarisch Посмотреть сообщение
А как можно посмотреть конечный сигнал, с максимальной сигмой?
после оптимизации ты получила набор оптимальных разностей фаз dFi_opt, подставляешь его в функцию рассчета сигнала calcS(dFi_opt) и получишь то что тебе нужно

Если мы исследуем пару сигнал и фильтр, то наверное нужно считать взаимную корреляцию. (возможно фильтр нужно отобразить из начала в конец)
1
 Аватар для Tovarisch
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 38
23.01.2015, 16:16  [ТС]
Цитата Сообщение от Зосима Посмотреть сообщение
(возможно фильтр нужно отобразить из начала в конец)
Это означает, что его нужно перевернуть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2015, 16:16

Как сделать в XSL цикл n итераций
Делать цикл для повторяющихся элементов можно с помощью <xsl:for-each select='элемент'> Но у меня есть значение элемента...

Организовать цикл с неопределенным числом итераций
Здравствуйте, есть лист со списком имя(несколько раз подряд) и число в след стобце(неск раз подряд) Надо посчитать итого для каждого...

Создать цикл на большое количество итераций
Добрый вечер. Помогите, пожалуйста создать цикл на следующий код: А и B спускаются всегда на 5 ячеек. ...

Цикл for на 5 итераций прерывается после 1-ой, 2-ой или 3-ей
Собственно, вся проблема в заголовке. Цикл, тело которого должно вызываться 5 раз, обрывается после первого или второго вызова, когда как,...

Как сократить код макроса и сделать цикл на 12 итераций?
Доброго времени суток. Поможете с циклом? Это автомакрос, который на указанном листе делает фильтр по критерию - Город, затем копирует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru