AFCViewerвид изнутри
Исходный код модуля содержащий все массивы частот используемые в AFCViewer. Массив 1/24 октавы заполняется автоматически в самом начале работы программы.
unit AFCFreq;
{------------ Проект "Маленькие программы помощники" -----------------------------
1. Массивы предпочтительных рядов частот для звуковых измерений: 1/3 и 1/6 октавы
(на основе ГОСТ 12090-80, МЭК-1, ИСО 266).
2. Массивы частот 1/12 и 1/24 октавы.
Copyright (C) ZHarns58. Условия использования: бесплатно.
http://ZHarns58.La-Ser.ru
------------------------------------------------------------------------------------}
interface
const
// измерительный 1/3 октавы
Freq_oct3 : array[0..30] of real =
( 20, 25, 31.5, 40, 50, 63, 80, 100, 125, 160,
200, 250, 315, 400, 500, 630, 800, 1000, 1250, 1600,
2000, 2500, 3150, 4000, 5000, 6300, 8000, 10000, 12500, 16000,
20000 );
DefFreq_oct = 1000;
// измерительный 1/6 октавы
Freq_oct6 : array[0..60] of real =
( 20, 22.4, 25, 28, 31.5, 35.5, 40, 45, 50, 56,
63, 71, 80, 90, 100, 112, 125, 140, 160, 180,
200, 224, 250, 280, 315, 355, 400, 450, 500, 560,
630, 710, 800, 900, 1000, 1120, 1250, 1400, 1600, 1800,
2000, 2240, 2500, 2800, 3150, 3550, 4000, 4500, 5000, 5600,
6300, 7100, 8000, 9000, 10000, 11200, 12500, 14000, 16000, 18000,
20000 );
// измерительный 1/12 октавы
Freq_oct12 : array[0..120] of real =
( 20, 21.19, 22.4, 23.73, 25, 26.49, 28, 29.66, 31.5, 33.37,
35.5, 37.61, 40, 42.38, 45, 47.68, 50, 52.97, 56, 59.33,
63, 66.75, 71, 75.22, 80, 84.76, 90, 95.35, 100, 105.95,
112, 118.66, 125, 132.43, 140, 148.32, 160, 169.51, 180, 190.70,
200, 211.9, 224, 237.3, 250, 264.9, 280, 296.6, 315, 333.7,
355, 376.1, 400, 423.8, 450, 476.8, 500, 529.7, 560, 593.3,
630, 667.5, 710, 752.2, 800, 847.6, 900, 953.5, 1000, 1059.5,
1120, 1186.6, 1250, 1324.3, 1400, 1483.2, 1600, 1695.1, 1800, 1907.0,
2000, 2119, 2240, 2373, 2500, 2649, 2800, 2966, 3150, 3337,
3550, 3761, 4000, 4238, 4500, 4768, 5000, 5297, 5600, 5933,
6300, 6675, 7100, 7522, 8000, 8476, 9000, 9535, 10000, 10595,
11200, 11866, 12500, 13243, 14000, 14832, 16000, 16951, 18000, 19070,
20000 );
var
// измерительный 1/24 октавы
Freq_oct24 : array[0..240] of real;
procedure FillOct24;
implementation
procedure FillOct24;
const
fr = 1.02930224; // корень 24-й степени из 2
var
i,j : integer;
f : real;
begin
// заполнить набор частот Freq_oct24
for j:=0 to High(Freq_oct6) do begin
f:= Freq_oct6[j];
i:= 0;
repeat
Freq_oct24[j*4 + i]:= f;
f:= f*fr;
Inc(i);
until (i > 3) or (j = High(Freq_oct6));
end;
end;
initialization
begin
FillOct24;
end;
end.
|
ZIP-архив с исходным текстом модуля 1,01 Кб.
Контрольная сумма архива CRC32: 5F7A672B |
| 1 | 2 | 3 | 4 | 5 |
Если Вы хотите поддержать разработку бесплатных программ и в частности этот сайт, то сделать это можно не только "монетами". Компьютерное оборудование, или как сейчас говорят "железо", которое Вы, по тем или иным причинам сочли уже неподходящим для себя, возможно сможет еще поработать. Правда, не во всех видах оборудования есть необходимость ...
Москва, 2013-2020 гг., © ZHarNS58 |