bsmedit -- another C/C++/SystemC simulation controller


bsmedit is a tool to control C++/SystemC simulation. It is open source, and cross platform. Long time ago, when I first used the Systemc library to simulate some communication algorithms, I was quickly bored with the following debugging procedure:

  1. update the source code;
  2. re-compile the program;
  3. check the results.

And occasionally, I would need to add some debugging code. For example, printing some value (e.g., printf) to the terminal or dumping the data to a file, so that I can use another tools (e.g., Matlab) to visualize and analyze it (e.g., plot).

bsmedit aims to simplify this procedure. With bsmedit, we can

  • control the simulation
  • monitor the signals in real-time
  • plot/dump the signals
  • ......


bsmdoc -- another technical html doc generator


bsmdoc is a tool to generate technical html files.

There are many ways to generate html files. Typing the html tags directly may not be a good use of your time. Otherwise, you may end up spending a lot of time on finding a mismatched tag. There are many tools that can help to generate html documents from various formats. In this case, there may be no need to worry about the html tags anymore, as they are automatically generated and "guaranteed" to be correct. Most of them try to make a comprehensive and complicated tool, which may contain many features and meet most requirements; however, once you need some missing features, it is almost impossible to update it by yourself.

There should be a simple way to generate html files; bsmdoc is designed to be a light-weighted tool, which keeps the 'core' as small as possible. It only provides some very basic features, but allow you to extend the tool to solve your own problem in a straightforward way. More...

Acoustic Echo Cancellation Overview


In acoustic transmission system, there are two important components: the speaker and the microphone. If the speaker and the microphone are totally separated, there will be no echo from the speaker to the microphone. Then, there is no need for acoustic echo cancellation.

However, in practice, the speaker and the microphone is almost always not totally separated. For example, when you are calling your friend A, you are the near end user and your friend A is the far end user. The speech from your friend A will come out from the speaker of your phone, which may also be collected by the microphone of your phone and sent back to your friend A. More...

Basics of Digital Signal Processing in Communications System

Small tools