Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

frequency band shift...

Status
Not open for further replies.

pooja_gajjar

Newbie level 4
Joined
Dec 29, 2011
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
surat
Activity points
1,311
hey everyone !!!

i need some help in matlab coding of my project....
actually i have wideband speech signal of frequency range from 0-8 khz...
i have devided my signal in low(0-3.4) and high band(3.4-8 khz)
and the next is to shift that high band signal (3.4-8 khz) to lower band range (0-3.4 khz)
i need help that how can i shift that higher band to lower in matlab ????
please if anyone have idea then suggest me ....
hoping for help...
 

Not clear the purpose of that.

However, if I would need do that, I first would convert input data from Time domain to Frequency domain ( i.e: Fourier Transform ).
Applying a linear conversion, could now shift bandwidth : F(f) = ( ( f -3.4 ) / ( (8-3.4)/3.4 ) )

Thus, transforming now input data from Frequency domain to Time domain, we can retrieve data translated to desired frequency.


+++
 

Andre pretty much covered your query, am just adding some matlab stuff you could use..

take the input x signal in time domain
where L satisfies your sampling requirement.
y=fft(x,L)

%Now in Frequency domain:

In regards to translation..it seems your compressing your higher frequency band into a smaller bandwidth.
If this is the case you can probably follow "andre" ratioed equation.

If you typically have higher frequency noise form your signal you could simply shift linearly by 3.4, i.e. and avoid the distortion.

Have Fun
 

hey thank you for help.... and i got your point but how should i define value of "f" ???
also matlab will accept integer index value of frequency as i know !!!!
please if have any idea....
 

Start thinking in the type of procesing you need. Once your concept is clear you can go to implementation (Matlab or any other).
The goal is to transmit medium fidelity audio using two voiceband channels?
It is a system that should be able to run continuously in real time, and not just a test/simulation with a short amount if data, right?

You can translate the upper band to lower using SSB (single side-band modulation).
The problem is that in SSB the bandwidth is conserved: you can not compress bandwidth without using some sophisticated coding scheme. But you can accomodate into the 300Hz-3400Hz band the 3400-6500 Hz band. It's no bad.

Regards

Z
 
  • Like
Reactions: FvM

    FvM

    Points: 2
    Helpful Answer Positive Rating
...how should i define value of "f" ???...

The first step, is to sample a set of values in time domain : X=(x1,x2,x3...xn).
So, apply this at FFT funcion as above sugested by kalyanasv.
In frequency domain, each data of vector F=(f1,f2,f3....fn) will be operated by the previous postulated formula.

f7900.gif


The DSP process is done continuouslly : A/D(t) --> FFT(t,f) --> SHIFT/SCALE(f) --> INV_FFT(f,t).
This filtering is performed step-by-step, taking an entyre set of data of the vector F sampled.

+++
 

I think the SSB method is the only one that could be applied without additional specifications (if we accepct to cut a part of the frequency range). For all others, that can't work continously by nature, e.g. FFT based, you need to define block lengths, windows, overlapping factors etc.
 

ya right SSB method helped me for shifting the band specifying the shifting frequency.....
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top