Add AD9084 PFIR/CFIR filter support, gain LUT calibration, and hardwa… - #174
Open
JahshawnR2 wants to merge 2 commits into
Open
Add AD9084 PFIR/CFIR filter support, gain LUT calibration, and hardwa…#174JahshawnR2 wants to merge 2 commits into
JahshawnR2 wants to merge 2 commits into
Conversation
…re tests - PFilt.m / CFIR.m: filter classes with design, quantize, write, and response methods - FIRcoeff.m: Q15 tap quantization for hardware register loading - filter_demo.m / filter_compare.m: end-to-end walkthrough and before/after comparison - pfir_gain_lut_study.m / cfir_gain_lut_study.m: gain characterization and LUT generation - pfir_gain_calibration.m / pfir_sweep_study.m: tap linearity and normalization analysis - plotting_fft.m: real-time spectrum display - AD9084HWTests.m: hardware test suite for filter loading and attenuation - AD9084_WALKTHROUGH.txt: full documentation of signal chain, usage, and findings - Rx.m / Tx.m: added EnablePFIRs/EnableCFIRs properties, NCO bugfix
tfcollins
requested changes
Jun 18, 2026
Collaborator
There was a problem hiding this comment.
Remove this file. This should be part of the PR message and not the code
Collaborator
There was a problem hiding this comment.
Remove from commit. This can be seen from commit itself
| % filter on the Washington hardware. For ease of use, the filtView switch have been | ||
| % added to turn off/on the filter analysis tool (fvtool). | ||
|
|
||
| clear; clc; |
Collaborator
There was a problem hiding this comment.
Move file to hsx_examples/streaming folder
Comment on lines
+44
to
+47
| repoRoot = fullfile(fileparts(mfilename('fullpath')), '..', '..'); | ||
| addpath(genpath(repoRoot)); | ||
| clear classes | ||
| rehash toolboxcache |
Collaborator
There was a problem hiding this comment.
Move to hsx_examples/streaming
|
|
||
| properties | ||
| taps (:,1) double % Column vector of taps | ||
| params struct % Normalized parameters (header fields, etc.) |
Collaborator
There was a problem hiding this comment.
Flatten this struct into class properties rather than a struct. It will make the input much easier to create
Comment on lines
+49
to
+54
| %complex_scalar Complex Scalar Multiplier | ||
| % 16-bit signed [real, imag] pair applied as a complex | ||
| % multiplier after filtering. Normalized by 32767. | ||
| % [32767 0] = unity real, [0 32767] = 90 degree rotation. | ||
| % Range: each component [-32768, 32767]. | ||
| options.complex_scalar (1,2) double = [32767 0] |
Collaborator
There was a problem hiding this comment.
this should just be a complex scalar and not a dual element vector. complex numbers are native to MATLAB
| % Programmable gain block at the CFIR output. Ranges from | ||
| % -18 dB to +12 dB in 6 dB steps. | ||
| % Options: '-18', '-12', '-6', '0', '6', '12' | ||
| options.gain {mustBeText} = "0" |
|
|
||
| properties | ||
| taps (:,1) double % Column vector of taps | ||
| params struct % Normalized parameters (header fields, etc.) |
Collaborator
There was a problem hiding this comment.
This should be flattened similar to CFIR
…r, move scripts - Flatten params struct into individual class properties in CFIR.m and PFilt.m - Change CFIR complex_scalar from [real, imag] vector to native MATLAB complex - Add mustBeMember enum validation for gain, selection_mode, etc. - Remove path setup boilerplate from scripts - Move example/study scripts to hsx_examples/streaming/ and trx_examples/streaming/ - Add CFIR all-pass to pfir_gain_lut_study to prevent residual CFIR interference - Update .gitignore for gain_study_results directories Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…re tests