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 |