⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rdimage.m

📁 matlab ofdm simulation
💻 M
字号:
function [datatx,h,w] = rdimage(filename,PictureComp)
%RDIMAGE Reads a grey scale bmp file, suitable for cofdm transmission
%	datatx = rdimage(filename,PicutreComp)
%	filename is the filename of the bmp file to load.
%
%	PictureComp : Picture intensity compression. Fraction to 
%		compress the intensity of the image by. This is
%		compresses the images so whites are darker and black
%		is lighter. This is to modify the mapping of the final
%		transmission mapping when using 256PSK. It increases 
%		the gap between black and white, to help prevent
%		wrap around of black to white, in a noisy channel.
%		Note : This is an optional parameter with a default
%		setting of 1, giving no compression.
%		
%	datatx : 8bit words representing the intensity of each pixel.
%		The output data is in a byte serial format, in a single row.
%
%	h : height of image in pixels
%	w : width of the image in pixels

%================================
%	Used functions:
%	bmpread.m
%=====================
%	Modified:
%	31/7/97	8:20am	rdimage.m
%	Started work on the function
%
%	31/7/97 12:00pm rdimage.
%	Fixed a bug with the ordering of the bits. The conversion
%	to base 4,2,or 1 was causing the image to be incorrect.
%	It had repetitions of the picture, each successively getting
%	smaller, in an binary tree type arrangment. This was due
%	to the msb => lsb being placed on separate symbols, but
%	being recreated assumming they were side by side on the same 
%	symbol. The effect can be recreated by rotating leftover, and
%	FileData using the ' operation.
%	rdfile.m appears to work now.
%
%	31/7/97	3:00pm	rdimage.m
%	The check for if the map and gray colors are the same keeps
%	on having wierd errors, so I commented them out.
%
%	3/8/97	10:30am	rdimage.m
%	Added the PictureComp parameter to allow for varying the 
%	mapping to help prevent roll over of black to white. Also added
%	data averaging allowing duplicate data to be sent to reduce the
%	error rate.
%	
%	12/8/97	7:30pm	rdimage.m
%	Removed the DataAvg parameter as this is now done by the transmit 
%	function. Also removed the number base conversion, and the formatting
%	of the data into symbols. All these are now done by the transmit routine.

[x,map] = bmpread(filename);
x=x-1;		%Change from 1-256 to 0-255;
if nargin == 2,
	%x=round((x/PictureComp)+(PictureComp-1)*128);
	x = round((x-128)/PictureComp+128);
end

%if map ~= gray,
%	error('The bmp to be loaded is not a gray scale image');
%end
h = size(x,1);
w = size(x,2);

datatx = reshape(x',1,h*w);	%Put the data in a serial byte format

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -