Download?????????? ??? ??????????? ??????? ?? RLC Band-Pass ?????? ??? ??????? FIR ??????
???? ? ?????? ?????????? ??????????? ??? ?? Ascoos OS ?????? ?? ?????????????? ??? ?? ????????? ???? ?????????? RLC ??????????? ???????, ??? ???????? ???????? FIR ??????? ?? ???? ????, ?? ?????????? SPICE netlist ??? ???????????, ??? ??? ??????????? ???? ?? ????????, ?????????????? ??? ??? fade. ????????, ????????? ??????? ????????? ??????????.
??????
?? ?????????? ????????? ??? ???????? ??????? ??? Ascoos OS:
- TElectronicsHandler: ??????????? ?????????? RLC ??????? ??? ???????? ??????????.
- TCircuitHandler: ?????????? SPICE netlist ??? ???????????.
- TDigitalCircuitHandler: ?????????? FIR ??????? ??? ??????? ????????? ??????????.
- TAudioHandler: ??????????? ???? (????????, ??????????????, fade-in/out).
- TValidationHandler: ????????? ?????????? ???????.
- TEventHandler: ????????? ????????? ????????????.
- TErrorMessageHandler: ?????????? ????????? ??? ??????????.
- TArrayGraphHandler: ?????????? ?????????? ????????? ??????????.
????
? ?????? ??????????? ?? ??? ?????? PHP:
- audio_rlc_fir_processing.php: ???????????? ????????? RLC ???????, ??????? ??????????? ????, ???????, ??? ?????????? ????????.
??????????????
-
??????????? ??? Ascoos OS (????? repository).
-
???????? ?? ?????? WAV ???? (?.?., `input_audio.wav`) ??? `$AOS_TMP_DATA_PATH`.
-
?????????? ???????? ????? ???????? `$AOS_LOGS_PATH` ??? `$AOS_TMP_DATA_PATH/reports/audio_rlc_fir/`.
-
????????????? ????????????? (?.?., Murecho) ??? ?????????.
??????????
-
??????????? ??? ?????? WAV ??? `$AOS_TMP_DATA_PATH`.
-
????????? ?? script ???? web server:
https://localhost/aos/examples/case-studies/electronics/audio_rlc_fir_processing/audio_rlc_fir_processing.php
?????????? ??????
$electronicsHandler = new TElectronicsHandler();
$centerFrequency = 1000; // Hz
$resistance = 1000; // 1 k?
$inductance = 0.1; // 100 mH
$capacitance = 1 / (4 pi() pi() $inductance $centerFrequency * $centerFrequency);
$bandpassGain = $electronicsHandler->bandpassFilterGain($centerFrequency, $resistance, $inductance, $capacitance);
$digitalHandler = new TDigitalCircuitHandler();
$firCoefficients = [0.25, 0.5, 0.25];
$signal = $audioHandler->readWavFile("input_audio.wav");
$filteredSignal = $digitalHandler->applyFIRFilter($firCoefficients, $signal);
$audioHandler = new TAudioHandler();
$trimmedSignal = $audioHandler->trimSignal($filteredSignal, 1.0, 9.0, 44100);
$signalWithFade = $audioHandler->fadeIn($trimmedSignal, 44100 * 0.5);
$signalWithFade = $audioHandler->fadeOut($signalWithFade, 44100 * 0.5);
$normalizedSignal = $audioHandler->normalizeSignal($signalWithFade, 0.9);
$audioHandler->writeWavFile($normalizedSignal, 44100, "processed_audio.wav");
??????????? ??????????
?? script ??????????:
- ??? SPICE netlist ?????? (rlc_filter.sp).
- ??? ??????? ????????? ?????????? ??? FIR ??????? (fir_frequency_response.png).
- ??? ????????????? ?????? WAV (processed_audio.wav).
- ??? JSON ?????? ???????? (audio_rlc_fir_report.json): {
"rlc_filter": {
"center_frequency": 1000,
"resistance": 1000,
"inductance": 0.1,
"capacitance": 2.533e-5,
"gain_at_center": 0.707
},
"fir_filter": {
"coefficients": [0.25, 0.5, 0.25]
},
"signal_stats": {
"samples": 352800,
"duration": 8
}
}
?????
??????????
?????? ?? ???????????? ?? ???? ?? ?????? ??????????; ????? fork ?? ??????????, ???????????? ? ????????? ???? ??????????? ??? audio_rlc_fir_processing.php, ??? ????????? pull request. ????? ?? CONTRIBUTING.md ??? ???????.
????? ??????
???? ? ?????? ?????????? ?????????? ??? ??? Ascoos General License (AGL). ????? ?? LICENSE.
|