Author Topic: DSP project problem  (Read 2697 times)

0 Members and 2 Guests are viewing this topic.

Offline strikefreedomTopic starter

  • Newbie
  • Posts: 5
DSP project problem
« on: March 31, 2012, 06:11:50 am »
I need to design a AM-SSB using code composer studio and C6713

The AM coding is under the rulph chassing dsp book , problem is how to make it to SSB

Can anyone help me

please
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: DSP project problem
« Reply #1 on: March 31, 2012, 10:09:20 am »
When is your homework due?
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline vk6zgo

  • Super Contributor
  • ***
  • Posts: 7669
  • Country: au
Re: DSP project problem
« Reply #2 on: March 31, 2012, 01:27:34 pm »
Normally SSB is produced by first producing a Double Sideband supressed carrier signal (DSB) rather than an AM (Double Sideband full carrier signal).
One sideband of the DSB signal is then suppressed,either with a hardware filter,or with a phase cancellation process.
In your case,the DSP processor could substitute for either process.
I can't quote the mathematical expressions for any of these forms of modulation off the top of my head,but if you search the 'Net you will find them, & you can probably then configure your DSP process to produce these expressions in real signal form.
 

Offline strikefreedomTopic starter

  • Newbie
  • Posts: 5
Re: DSP project problem
« Reply #3 on: March 31, 2012, 02:47:34 pm »
the due date is before 13 april

I search all the related net but still not idea , i try to edit the coding and put the filter coding but there have error ...
so need some assist to solve ...

Thank.


 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3828
  • Country: us
Re: DSP project problem
« Reply #4 on: March 31, 2012, 08:00:30 pm »
Give us something here.  Lots of people will be happy to help you with your homework, but try to show that you are interested in the answer (rather than interested in having someone do your homework for you) and that you have thought about the problem.  Start by explaining what you know about the difference between AM, DSB suppressed carrier, and SSB.  Explain what parts you don't understand, and what you have tried that hasn't worked.
 

Offline strikefreedomTopic starter

  • Newbie
  • Posts: 5
Re: DSP project problem
« Reply #5 on: April 01, 2012, 02:52:12 am »
This is my main coding
AM-double sideband suppressed carrier
and i need to add the filter method to extract one of the two sidebands.

//AM.c

#include "DSK6713_AIC23.h"                              //codec-dsk support file
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ;     //set sampling rate
short amp = 1;                                                  //index for modulation

void main()
{
short baseband[20]={1000,951,809,587,309,0,-309,-587,-809,-951,
-1000,-951,-809,-587,-309,0,309,587,809,951};                                        //400-Hz baseband
short carrier[20] ={1000,0,-1000,0,1000,0,-1000,0,1000,0,
-1000,0,1000,0,-1000,0,1000,0,-1000,0};                                                //2-kHz carrier
short output[20];
short k;

comm_poll();                                    //init DSK, codec, McBSP
while(1)                                          //infinite loop
{
for (k=0; k<20; k++)
{
output[k]=((amp*baseband[k]*carrier[k]/10)>>12);
output_sample(20*output[k]);                                        //scale output
}
}
}

Below this is filter coding , but it cannot add simply like that. i try it before much time and edit  , but there have error -(expected a declaration , exppected an expression) and i not familiar in coding.so need some help or assists or some answer.

.
.   ( include file )
.
interrupt void c_int11()                                       //ISR
{
short i;

dly[0] = input_sample();                                 //new input @ beginning of buffer
yn = 0;                                                          //initialize filter's output
for (i = 0; i< N; i++)
yn += (h * dly);                                  //y(n) += h(i)* x(n-i)
for (i = N-1; i > 0; i--)                                  //starting @ end of buffer
dly = dly[i-1];                                  //update delays with data move

output_sample(yn >> 15);                      //scale output filter
return;
}

void main()
{
comm_intr();                                 //init DSK, codec, McBSP
while(1);                                  //infinite loop
}
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf