Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
I want to do additive synthesis (or harmonic synthesis of sine wave). I use the solution filtering (band pass filtrer) to generate sine waves with timer 8 bits on a PSOC1 Model CYC8C29466. I create two harmonic signals (different frequencies, different amplitudes) and I want to add these two analog signals.
Bob's right, the easiest way is two filters and a resistive adder externally. Feed back into a PGA to get a buffered low-impedance output. You could put a cap on the resistor summing junction to filter out most of the sampling aliases.
IF . . . . you want zero external parts. Put one LPF in ASC10, ASD11, feed filter from digital input on P2. Put second LPF in ASC23, ASD22, feed filter from digital input on P2. Sum the outputs with an MDAC6 in ASC21; you'll have to set the B-input on block ASC21 in your code. Cool part this way is that you can scale the levels by changing the A and B caps. This results in levels that are dependent on power supply. If you want absolute levels, connect filter inputs to RefHi, then modulator bits to your digital signals. Set RefHi to something other than Vdd. You'll get the best result if the filters have the same column clock.
IF . . . . you are software-centric you can follow the method of the DTMF dialer user module and do with direct digital synthesis into a DAC. This is probably limited to a few kHz.
The limit on your output frequency is the slew rate of the analog column output buffer, roughly 40 kHz for rail to rail swing with no distortion caused by slew rate limiting.