Reply by john November 30, 20052005-11-30
Jerry Avins wrote:
> 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