Hi,
We have been using the module paramset to change the exposed variables of a module within a AW design.
If the module's variable field is an array how do we change a value within that array? I am particularly trying to use the crossover filter and to make this discussion simple, I am just doing a 2 way. If you open view properties, the variable will show up as Array: cutoff with one value. Somehow I cannot associate the paramset module to change this one value in the array and always get some error.
The things I have tried:
1. checking the expose this symbol check box
2. I tried on the paramset (where module is the crossoverfiltername) the following combinations module.cutoff[0], module.cutoff[1], module.Array:cutoff[1] etc.
3. I also tried changing the value of the isTunable of the crossover filter to true.
4. I also tried looking into employing the coeftable module but that did not work either.
Please advise on how to best go about this.
Thanks.
EE
11:21am
Hey Emilson,
I get an error about not finding the module name when using paramSet with the CrossoverFilter module. Investigating now.
Thanks
Axel
3:12pm
Hey Emilson. I've been educated on this topic.
The ParamSet module can only access parameters that exist on the target. The CrossoverFilter is a special module in that the cutoff frequency parameter only exists in MATLAB - changes to the cutoff frequency cause filter design equations to be called in order to update the actual filters on the target. This means that you are not able to change the CrossoverFilter's cutoff frequency using the ParamSet module.
A workaround for you would be to recreate a cross over filter using butterworth filter modules, and to then change the cutoff's of multiple butterworth filters using ParamSet. This is simple if you only have a 2 way crossover, but you'll have to add compensating allpass filters if you have more than 2 crossovers.
Note that in general, the way you are accessing array variables in modules is correct (module.cutoff[0]).
Hope this helps you. We will have to work on our side on how to better document irregular modules like this.
Axel