> john wrote:
> > Hello Ozgur,
> >
> > You generate 2200 Hz and 1100 Hz at a specified sample rate, correct?
> > Let's say its 8800 samples/sec to keep the math simple. Now you want to
> > transmit a certain number of bits per second, no? Let's say that is 275
> > bits/sec.
> >
> > What you need to do is generate a vector with 8800/275 =3D 32 ones in a
> > row for every "1" and 32 zeros in a row for every "0". Call this vector
> > v1. Now generate another vector v0 =3D not(v1). Now compute L =3D=3D
> > length(v0) =3D=3D length(v1). Create a 2200 Hz sine wave of length L ca=
lled
> > c0 and an 1100 Hz sine wave also of length L called c1 (both sine waves
> > are 8800 samples/sec). Your modulated signal is v0.*c0 + v1.*c1.
>
> ...
>
> John,
>
> One often keeps the bit time the same for ones and zeros. For the number
> you give, 275 bits/sec, you send 4 cycles of 1100 Hz for a zero and 8
> cycles of 2200 Hz for a one.
>
> The simple way to do this is with a table of sine values that are
> stepped through at a rate that will produce 1100 Hz when the entries are
> taken in succession. To generate twice the frequency, send every second
> entry at the same rate.
>
> Jerry
> --
> Engineering is the art of making what you want from things you can get.
> =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
You are correct, Jerry, that's a viable way to do it, and there are
others. I got the distinct impression from the OP that a catalogue of
techniques would not be helpful.
John
Reply by Jerry Avins●November 30, 20052005-11-30
john wrote:
> Hello Ozgur,
>
> You generate 2200 Hz and 1100 Hz at a specified sample rate, correct?
> Let's say its 8800 samples/sec to keep the math simple. Now you want to
> transmit a certain number of bits per second, no? Let's say that is 275
> bits/sec.
>
> What you need to do is generate a vector with 8800/275 = 32 ones in a
> row for every "1" and 32 zeros in a row for every "0". Call this vector
> v1. Now generate another vector v0 = not(v1). Now compute L ==
> length(v0) == length(v1). Create a 2200 Hz sine wave of length L called
> c0 and an 1100 Hz sine wave also of length L called c1 (both sine waves
> are 8800 samples/sec). Your modulated signal is v0.*c0 + v1.*c1.
...
John,
One often keeps the bit time the same for ones and zeros. For the number
you give, 275 bits/sec, you send 4 cycles of 1100 Hz for a zero and 8
cycles of 2200 Hz for a one.
The simple way to do this is with a table of sine values that are
stepped through at a rate that will produce 1100 Hz when the entries are
taken in succession. To generate twice the frequency, send every second
entry at the same rate.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by john●November 30, 20052005-11-30
Hello Ozgur,
You generate 2200 Hz and 1100 Hz at a specified sample rate, correct?
Let's say its 8800 samples/sec to keep the math simple. Now you want to
transmit a certain number of bits per second, no? Let's say that is 275
bits/sec.
What you need to do is generate a vector with 8800/275 = 32 ones in a
row for every "1" and 32 zeros in a row for every "0". Call this vector
v1. Now generate another vector v0 = not(v1). Now compute L ==
length(v0) == length(v1). Create a 2200 Hz sine wave of length L called
c0 and an 1100 Hz sine wave also of length L called c1 (both sine waves
are 8800 samples/sec). Your modulated signal is v0.*c0 + v1.*c1.
Good luck,
John
opamp wrote:
> Hi,
> I want to make fsk modulation. For example my baseband signal is
> "1010001110". Ones are represent by 2200 hz and zeroes are by 1100 hz. Now
> I know that for generating a fsk signal, I have to generate a signal that
> shows ones(as callded s1) and another one that shows zeros(as called s0).
> And when "1" comes, it has to be shown in s1; and when "0" comes, it has
> to be shown in s0; WHILE it is shown by space in s1 when "0" comes, and in
> s0 when "1" comes...So after summing two signal I can generate a fsk
> modulated signal..
>
> for example :
>
> base band signal : 1010001110
>
> s1= /\__/\______/\/\/\_ /\ shows "1" (2200 hz)
>
> s2= __\/__\/\/\/______\/ \/ shows "0" (1100 hz)
>
> when I sum these signals I will generate FSK modulated signal, IS'N IT?
>
> My question is, how can I generate s1 or s0? When I try multiplying a bit
> sequence(that is used for generating s1) by a 2200 hz signal or 1100 hz
> signal, Matlab DOESN'T DO that... What do I have to do for this...
>
> PLEASE HELP ME...I beg you :'( I'm already going madddd !!!!
>
> Ozgur Yalcin
Reply by Mark●November 30, 20052005-11-30
how long in time duration are the bits compared to 1 cycle of 2200Hz?
Mark
Reply by Jerry Avins●November 30, 20052005-11-30
opamp wrote:
> Hi,
> I want to make fsk modulation. For example my baseband signal is
> "1010001110". Ones are represent by 2200 hz and zeroes are by 1100 hz. Now
> I know that for generating a fsk signal, I have to generate a signal that
> shows ones(as callded s1) and another one that shows zeros(as called s0).
> And when "1" comes, it has to be shown in s1; and when "0" comes, it has
> to be shown in s0; WHILE it is shown by space in s1 when "0" comes, and in
> s0 when "1" comes...So after summing two signal I can generate a fsk
> modulated signal..
>
> for example :
>
> base band signal : 1010001110
>
> s1= /\__/\______/\/\/\_ /\ shows "1" (2200 hz)
>
> s2= __\/__\/\/\/______\/ \/ shows "0" (1100 hz)
>
> when I sum these signals I will generate FSK modulated signal, IS'N IT?
That's not how I would do it.
> My question is, how can I generate s1 or s0? When I try multiplying a bit
> sequence(that is used for generating s1) by a 2200 hz signal or 1100 hz
> signal, Matlab DOESN'T DO that... What do I have to do for this...
I don't do Matlab.
Harmonically related FSK frequencies are a poor choice. In a practical
system, the second harmonic of 1100 will confuse the detector to at
least some degree.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by opamp●November 30, 20052005-11-30
Hi,
I want to make fsk modulation. For example my baseband signal is
"1010001110". Ones are represent by 2200 hz and zeroes are by 1100 hz. Now
I know that for generating a fsk signal, I have to generate a signal that
shows ones(as callded s1) and another one that shows zeros(as called s0).
And when "1" comes, it has to be shown in s1; and when "0" comes, it has
to be shown in s0; WHILE it is shown by space in s1 when "0" comes, and in
s0 when "1" comes...So after summing two signal I can generate a fsk
modulated signal..
for example :
base band signal : 1010001110
s1= /\__/\______/\/\/\_ /\ shows "1" (2200 hz)
s2= __\/__\/\/\/______\/ \/ shows "0" (1100 hz)
when I sum these signals I will generate FSK modulated signal, IS'N IT?
My question is, how can I generate s1 or s0? When I try multiplying a bit
sequence(that is used for generating s1) by a 2200 hz signal or 1100 hz
signal, Matlab DOESN'T DO that... What do I have to do for this...
PLEASE HELP ME...I beg you :'( I'm already going madddd !!!!
Ozgur Yalcin