Hi all, I am new to the forums and I have a question regarding DSP. I am building a robot for my project, anyone know how can I work with it? Also I have to grogram it in matlab, so can you please highlight the procedure of programming it in matlab? I read all the posts about DSP in there but I didnt get much out of them!!! Can you please explain more. If I am not asking the right questions or I'm not providing enough information please let me know. Thank you!
By the way I found a good website for MATLAB tutorial http://users.ece.gatech.edu/mcclella/SPFirst/MatlabMovies/ Just don't know how to use Matlab to program my DSP for a voice recognition purpose. Raham,
Lets start with getting you some basic information on Matlab. I wrote a blog entry with a comprehensive list of Matlab resources that will help you understand and program in Matlab: http://forum.allaboutcircuits.com/blog.php?b=56 I also recommend you make use of the Matlab help (in the Matlab window go to Help > Matlab Help) it is very useful. Ok, onto your problem. It is worth noting that Matlab code (M-code) runs on the Matlab interpreter, therefore whatever you run your M-code on must have Matlab (and hence the Matlab interpreter) installed. Since Matlab only runs on Windows, OSX and Linux, this limits your DSP functions to a PC. I assume you have access to Matlab. For the DSP elements, we need to firstly know what signals you are processing, secondly what form of processing you are required to undertake, and thirdly how you intend to hook-up the robot to the PC. Once you have identified these, then you can move forward and look at interfacing Matlab to the robot, performing the signal processing (which will be dependant on what you are trying to achieve), and then interfacing back to the robot. The programming is relatively easy, the problem is scripting a plan of how you will do it. Until we know the signals and processing requirements and a bit more about your robot set-up then we can only offer abstract advice. Dave
Dear Dave thanks you for your reply but i think i didn't ask my question very well, I don’t want to hook-up my robot to a pc. Let me give you an example you might understand my project better. It might happened to you 10000 times when you calling somewhere it ask you automatically e.g what’s your name or ask you a question and just say yes or no and so on. That’s what I’m planning to do, for example in a microphone I say right, DSP manipulate my voice i.e recognize my voice then convert it to some sort of zeros and ones then send it to a microcontroller then turn the motors on and then my robot turn right, My problem is I don’t know how to program my DSP for a sound recognition purpose. Raham,
We don't know which DSP you are considering, but I'll venture a guess and say the chances of programming a DSP in Matlab to run your robot are somewhere between slim and none. In the last few months I've become familiar with VisualDSP++ from Analog Devices for the SHARC processors. I think it will also do Blackfin. These tools are pricey so you'll need to unlimber your wallet. Tools for the TI line may be more reasonable, but not what I would call free or low cost. That distinction falls to Freescale (formerly Motorola) whose ASM56000 assembler is still a free albeit difficult to find download. This is about as raw an assembly language as exists on the planet today.
my problem is not which one to pick , the problem is the strategy to get it to work, anyway thank you for your post,
If you don't want to hook the robot up to a PC (wired, wireless, or otherwise) then that precludes your ability to use Matlab. You will need to consider other DSP options, similar to what Papabravo is talking about. If you want to use Matlab, all Matlab functions must be implemented on a PC. How you program the algorithm is obviously dependant on what method you employ. You have seen an algorithm for a crude voice-recogniser I wrote that was for comparative analysis of two voices. My target for that was to program the algorithm in Matlab. Are you familiar with the basics of speech recognition, concepts like fingerprinting, framing and filtering? Dave
Yes, well the strategy seems fairly obvious to me. You choose between the very expensive Visual DSP++ tools from Analog Devices, the less expensive tools from TI, and the free tools from Freescale. Once you choose the Software tools you pick a proceesor that the tools support, get an EVAL Board and code away. I'll make you a bet however. Your chances of learning 56000 Assembler from scratch and getting your project done in less than a year would be vanishingly small. It all comes down to your budget. There could also be a dark horse DSP vendor out there, but I don't think there is one. The closest DSP wannabe is the AVR32 from Atmel. The eclipse based tools are free but don't expect to pick them up overnight.
wow, that was a helpful hit Papabravo, thank you for your post.by the way I'm not allowed to use AVR. can you please tell me the road map to do this project within as you said less than a year + less cost as well. to be honest with you my supervisor said i need to chose all the tools by myself its because its my project. can you please suggest less expensive tools from TI , EVAL Board, a proceesor and any other information you know its helpful. I've just want to start my project ASAP. Raham,
Here is a typical TI Floating Point DSP http://focus.ti.com/lit/ds/symlink/tms320c6713b.pdf Here's the compiler users guide http://focus.ti.com/lit/ug/spru187o/spru187o.pdf Here's an eval board http://focus.ti.com/lit/ug/spru269f/spru269f.pdf Most of the stuff is available from Dig-Key and other distributors. I' guessing you'll need to spend on the order of $1200 - $1500 by the time you're done.