overall
Зарегистрирован: 17.05.2007 Сообщения: 1
|
Добавлено: Чт Май 17 2007 12:04 Заголовок сообщения: Принцип построения некоторых оконных функций: Hamming, ... |
|
|
Код: |
function THammingWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 0.53836
//A1 = 0.46164
Result := A0 - A1*Cos(2*Pi*I/(N - 1));
end;
function TBlackmanWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 0.42
//A1 = 0.5
//A2 = 0.08
Result := A0 - A1*Cos( 2*Pi*I/(N - 1) ) + A2*Cos( 4*Pi*I/(N - 1) );
end;
function TNuttallWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 0.355768
//A1 = 0.487396
//A2 = 0.144232
//A3 = 0.012604
Result := A0 - A1*Cos( 2*Pi*I/(N - 1) ) + A2*Cos( 4*Pi*I/(N - 1) ) - A3*Cos( 6*Pi*I/(N - 1) );
end;
function TBlackmanHarrisWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 0.35875
//A1 = 0.48829
//A2 = 0.14128
//A3 = 0.01168
Result := A0 - A1*Cos( 2*Pi*I/(N - 1) ) + A2*Cos( 4*Pi*I/(N - 1) ) - A3*Cos( 6*Pi*I/(N - 1) ); // from TNuttallWindow
end;
function TBlackmanNuttallWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 0.3635819
//A1 = 0.4891775
//A2 = 0.1365995
//A3 = 0.0106411
Result := A0 - A1*Cos( 2*Pi*I/(N - 1) ) + A2*Cos( 4*Pi*I/(N - 1) ) - A3*Cos( 6*Pi*I/(N - 1) ); // from TNuttallWindow
end;
function TFlatTopWindow.GetWindowValue(I, N: Integer): Real;
begin
//A0 = 1
//A1 = 1.93
//A2 = 1.29
//A3 = 0.388
//A4 = 0.032
Result := A0 - A1*Cos( 2*Pi*I/(N - 1) ) + A2*Cos( 4*Pi*I/(N - 1) ) - A3*Cos( 6*Pi*I/(N - 1) ) + A4*Cos( 8*Pi*I/(N - 1) );
end;
|
Ясно видно что данные окна очень похожи.
Похоже на какой-то ряд.
Не подскажите, что это за ряд и почему именно он?
Что раскладывали?
И вообще по какому принципу строятся окна? Ссылку?
Спасибо. |
|