står still i skallen, från två digitala frekvenskällor, finns det möjlighet att addera frekvenserna med enkel logik eller blir det frekvensmultiplikation?
exempel, 1 khz och 10 khz in i and eller exlusive or grind, vad blir grundfrekvensresultatet kollat i frekvens plan, kollat med spektrumanalysator
kan inte prova nu men vill kunna addera flera frekvenser med logikkretsar och senare även multiplicera, allt utan att gå omvägen via analoga lösningar
digital frekvens addition eller multiplikation?
#! /usr/bin/octave
N = 50000;
range = 1:N;
r2= 1 : (N/2) ;
f1 = 1000;
f2 = 10000;
c1 = 0.5 * ( 1 + cos( 2 * pi * f1 *range ./ N)) ;
c2 = 0.5 * ( 1 + cos( 2 * pi * f2 *range ./ N)) ;
s1 = round (c1);
s2 = round (c2);
s3 = s1 & s2;
s4 = xor (s1, s2);
% plot(range, s1+2, range, s2, range, s4+3,range, s4+4 )
ss3 = fft(s3);
ss4 = fft(s4);
grid
r2= 1 : (N/2) ;
plot( r2, N/2 + abs(ss3(r2)), r2, abs(ss4(r2)) );
pause;
N = 50000;
range = 1:N;
r2= 1 : (N/2) ;
f1 = 1000;
f2 = 10000;
c1 = 0.5 * ( 1 + cos( 2 * pi * f1 *range ./ N)) ;
c2 = 0.5 * ( 1 + cos( 2 * pi * f2 *range ./ N)) ;
s1 = round (c1);
s2 = round (c2);
s3 = s1 & s2;
s4 = xor (s1, s2);
% plot(range, s1+2, range, s2, range, s4+3,range, s4+4 )
ss3 = fft(s3);
ss4 = fft(s4);
grid
r2= 1 : (N/2) ;
plot( r2, N/2 + abs(ss3(r2)), r2, abs(ss4(r2)) );
pause;
Har du problem med att få igång Octave, så genererar scriptet två spectra, ett för and- respektive xor-grind. Alla udda övertoner till 1kHz finns med, och för and-grinden dessutom 10 och 20kHz.
Octave, eller Matlab/Scilab, är lämpiga verktyg för den här typen av problem.
Med ett vanligt ljudkort och Octave så har man en skaplig spektrumanalysator för audioområdet.
Octave, eller Matlab/Scilab, är lämpiga verktyg för den här typen av problem.
Med ett vanligt ljudkort och Octave så har man en skaplig spektrumanalysator för audioområdet.