[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU
--------
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC HỢP TÁC
Co-operative research project between BVU and UBO
TÊN ĐỀ TÀI:
Thiết kế và xây dựng hệ thống định vị dẫn đường tàu cá chi phí thấp
(Design and Development of a central navigation “Low – cost”)
Trình độ
26 trang |
Chia sẻ: huong20 | Ngày: 19/01/2022 | Lượt xem: 358 | Lượt tải: 0
Tóm tắt tài liệu Đề tài Thiết kế, xây dựng hệ thống định vị dẫn đường tàu cá chi phí thấp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đào tạo: Chương trỡnh trao đổi sinh viờn với trường
UBO -Universitộ de Bretagne Occidentale (Phỏp)
Giảng viờn hướng dõ̃n: Ts. Lấ NGỌC TRÂN
Sinh viờn thực hiợ̀n : Sylvain Marest
Lớp : Digital System
Niờn khúa : 2016-2018
Bà Rịa-Vũng Tàu, năm 2018
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
2
Thanks
I would like to begin by thanking the University of Baria Vung Tau (BVU) for
having welcomed me to their school and their campuses for this period of training, and
for giving me the keys to live in Vietnam.
I thank Mr Le Ngoc and Mr Le Viet, professors in electronics at the university,
for their availability and for the quality of the exchanges we had during this internship,
allowing me to enrich myself and to evolve professionally.
Introduction
The training of the professional license Marine Electronic Systems (SEME)
includes a training period of 490 hours.
In the training course of the SEME professional license, the internship is
necessary to discover several technological facets of marine electronics. It allows you
to acquire skills and know-how specific to each company.
I chose the internship in Vietnam at the University of BVU with the purpose of
the realization of a central navigation "low-cost" because it was mainly found an
internship in France and the opportunity presented through Mr Vo, that represented for
me a chance to discover a unique know-how and culture in the world.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
3
23-25
10-13
15-16
16-17
17-20
Summary
I. Presentation of the project 3-4
The interest of this project 3
The project team 3
Our solution 4
My schedules and my tasks 4
II. Electronic part 5-6
The raspberry pi 3 5
The GPS mouse 5
The module NEO-6M 6
7 inch screen pi 6
III. Computer part 7-9
Opencpn 7
GE2KAP 7
Google Earth 8
Openseamap 8
PuTTY 9
VncViewer 9
IV. The realization 10-20
Creating the map
Remote control of the raspberry pi 14
Installing the GPS mouse
Installing the module NEO-6M
Three possible technical solutions with price estimation
V. Conclusion 21
VI. Bibliography 22
VII. Appendices
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
4
UBO
UBO
BVU BVU
I. Presentation of the project
The interest of this project
The interest of the project is to come and give navigational tools to Vietnamese
navigators. Indeed, on 300 000 Vietnamese boats, none have systems to navigate from
point A to point B, they can not follow any road where even to locate to access an area
they already knew, which could be very convenient for fishermen who want to find their
fishing zone.
They also have no weather systems and the price for a navigation system is very
elevated compared to the average budgets of the Vietnamese.
The project team
Manager : Claude VO
Supervisor and Manager : Than Le VIET
Supervisor and Manager : Tran LE NGOC
Student : Sylvain MAREST
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
5
Our solution
To avoid this problem, we will create a central navigation low-cost by connecting
to a Raspberry PI card, an LCD display, a radio module and a GPS mouse for displaying
and information of satellite data, and then for installing a system operating system and
navigation software to allow Vietnamese navigators to navigate serenely on the waters.
As there are no nautical charts for Vietnamese waters, free and downloadable on
the Internet, we will have to create a map of the east coast of Vietnam with the software
" Opencpn ", " GE2KAP " and " Google Earth " which will allow to use image overlay
skills to capture, calibrate and use it by the navigation software.
My schedules and my tasks
Weeks Monday Tuesday Wednesday Thursday Friday
Week 1-2 9h-16h30 9h-16h30 9h-16h30 9h-16h30 9h-16h30
Week 3-4 9h-16h30 9h-16h30 9h-16h30 9h-16h30 9h-16h30
Week 5-6 9h-16h30 9h-16h30 9h-16h30 9h-16h30 9h-16h30
Week 7-9 9h-16h30 9h-16h30 9h-16h30 9h-16h30 9h-16h30
Week 10-11 9h-16h30 9h-16h30 9h-16h30 9h-16h30 9h-16h30
Week 1-2) Installation of the radio module to receive satellite data
Week 3-4) Installing a GPS mouse for the transmission of GPS data
Week 5-6) Set up the navigation software ô Opencpn ằ
Week 7-9) Create a map of the east coast of Vietnam in. kap format with the software GE2KAP and Google Earth
Week 10-11) Tests in real condition on a boat
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
6
40 pin extended GPIO
4 x USB 2 ports
LAN Port (RJ45)
DSI Display port
CSI Camera
Port
Micro USB Power Input
Full Size HDMI Video Output
Composite Video and Audio Output Jack
Broadcom BCM2837 64 bit
Quad Core CPU at 1.2GHz,
1GB RAM
On Board Bluetooth 4.1 WI-FI
MicroSD Card Slot
RAM
II. Electronic part
The raspberry pi 3
The Raspberry Pi is an ARM processor single-card nano-computer designed by
video game creator David Braben as part of its Raspberry Pi Foundation.
The Raspberry Pi 3 is equipped with a broadcom BCM2837 ARM Cortex A53
SoC 64-bit processor with four cores at 1.2 GHz, for an increase in performance in the
order of 50% compared to Pi 2 and a WiFi chip and low-power bluetooth.
The GPS mouse
The active GPS antenna is the easiest way to acquire a GPS position. It can be
used for both land and sea navigation. Its simplicity of installation and its powerful
material characteristics will make this antenna the perfect tool for navigation.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
7
GPS_NEO-6M
EEPROM 24C32
VCC
GPS TXD
GPS RXD
GND
GPS PPS
UART
The module NEO-6M
The Neo-6 series of modules is a family of stand-alone GPS receivers with high
performance U-Blox 6 positioning engine. The dedicated acquisition engine, is able to
search for space in parallel time/mass frequency, allowing it to instantly find satellites.
Innovative design and technology removes interference sources, giving neo-6 GPS
receivers excellent navigation performance, even in the most challenging environments.
7 inch screen pi
The 7 "touch screen for Raspberry Pi gives users the ability to create integrated
projects such as tablets, infotainment systems and integrated projects. The 800 x 480
display connects via an adapter card that manages the conversion. It is really interactive,
the latest drivers will support a virtual keyboard "on the screen", so there is no need to
connect a keyboard and a mouse.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
8
III. Computer part
Opencpn
OpenCPN (open Chart Plotter Navigator) is a free navigation software. It can be
used to edit maps, to plan a route and to view its position in real time, if it is associated
with a GPS.
OpenCPN uses the GPS to determine the position of the boat and the data from
an AIS to trace the positions of the boats in the vicinity.
GE2KAP
Paul Higgins and his trusty sidekick Whitey authored the program GE2KAP.
This free software allows you to make charts with Google Earth overlays. The result is
an amazing combination of photo-real land detail and waterways that are navigation
charts.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
9
Google Earth
Google Earth is a software, owned by Google Company, allowing a visualization
of the earth with an assembly of aerial or satellite photographs.
Openseamap
OpenSeaMap is a project whose objective is to collect freely usable nautical
information, and to couple them with geo-localized information with the aim of
creating a world nautical chart.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
10
PuTTY
PuTTY is a terminal emulator coupled with a client for SSH, Telnet, rlogin,
and raw TCP protocols. It also allows direct connections via RS-232 serial link.
VncViewer
In computing, Virtual Network Computing (VNC) is a graphical desktop shar-
ing system that uses the Remote Frame Buffer (RFB) protocol to remotely control an-
other computer. It transmits keyboard and mouse events from one computer to another,
relaying updates from the graphics screen in the other direction over a network.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
11
IV. The realization
Creating the map
There are 3 ways to create a map of the coasts of Vietnam with the software
OPENCPN, GE2KAP and Google Earth.
First of all, it is necessary to install the software in Windows 10.
1°) Using the Google Earth Add-in (Plug-in) from OpenCPN
I loaded and installed the plugin ô GoogleEarth ằ and followed the following
steps :
1) Run OpenCPN and choose a map.
2) Start the Google Earth plug-in by clicking on the ad-hoc icon in the OpenCPN
icons bar.
3) Display, in the GE plug-in, the area you want to transform into a map.
4) Start GE2KAP and wait for it to automatically connect to OpenCPN.
5) Enter a path and a map name in the field "path in PCNom: ".
6) Click the "Create Map " button in GE2KAP.
7) To view the resulting map, click on "See " in GE2KAP.
2°) Merge the Google Earth screen with that of OpenCPN
I loaded and installed the plugin ô ge2kap ằ and followed the following steps :
1) Start GE2KAP.
2) Enter a path and a map name in the field "path in PCNom: ".
3) You can just specify the path that leads to the folder that will contain the map. In
this case, the created map will be named "OPENCPN. KAP "
4) Open, if necessary, the central part of the GE2KAP options
5) In the field "path in the PC to a map/image or OpenCPN screen", use the drop-
down list to enter just: "OpenCPN " (Do not enter a path).
6) Do not check the "create a non-merge KAP" checkbox. Do not use GE ".
7) Click the "Create Map " button.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
12
3°) Calibrating a JPEG image
This method consists of capturing an image on Openstreetmap and then coming
to calibrate it with GE2KAP to be readable by OPENCPN.
I followed the following method :
1) Open Openstreetmap World
2) Choose a piece of card
3) Place the cursor in the left corner at the top and note the latitude and the longitude,
same thing for the right corner at the bottom.
4) Capture exactly the window rectangle, save and give a name to the JPEG file. (eg
VietNam. jpg)
5) Open the template. gpx file with Notepad. Type the latitude and longitude in both
lines.
GPX File
<gpx version="1.1" creator="OpenCPN" xmlns:xsi="
instance" xmlns=""
xmlns:gpxx=""
xsi:schemaLocation="
" xmlns:opencpn="">
latitude and longitude
6) Save and give the same name as the image (eg VietNam.jpx).
7) Place the .jpg image of the card and the .jpx file in the KAP folder and start
GE2KAP by double-clicking.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
13
8) In the window that opens . Press the button (1) >> and in the window, navigate
to open the folder and type in the 'File name' box the name that will be given to
the card (for example. VietNam.kap), Save , and close the window. The path and
name appear in (2).
9) With the button (3) >>, navigate to search the KAP folder of GE2KAP, and click
on the image (for example VietNam.jpg), open, close the window. The path and
the name are displayed in (4). Type Meters in (5). Mark the box (6) and click on
'Create KAP' (7).
10) When the window announces 'Successfully created ...', open OpenCpn, in the
Toolbox / Maps, 'add directory' which contains the new map.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
14
After having tested these 3 solutions, none of them worked, most of the time,
the card does not register in .kap format readable by Opencpn or so I had this error code.
Error: GE KML Copy Failed!
Error: Can not find on Google Earth the image overlay edit window.
Error: Unable to add the merge file:
C: \ DUMMY \ OPENCPN_DMY.KAP
Being blocked with these 3 solutions, I found a much simpler solution on
openseamap which offers free .kap maps for most of the world's maritime zones.
4°) Download free map on Openseamap
You have to open Openseamap and go to "download the map", then you have to
unzip the file and send it to a folder.kap that Opencpn knows.
Then in Opencpn, open the toolbox and go to "cards / data" then add the
folder.kap where is the file unzip.
Here is the result :
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
15
Remote control of the Raspberry pi
I decided to control the Raspberry pi with my laptop using the software "puTTY"
and "VncViewer". This choice is optional and is not necessary, but it is useful because
it avoids using too much material, like the mouse and the keyboard.
For this, simply go to the terminal of the raspberry and type "ipconfig" to find
the IP address. Then, you must install the software on your computer and establish the
connection by activating the SSH link on the raspberry and then physically connecting
it via an ethernet cable on the laptop.
When all this is done, open VncViewer and establish a new connection. When
you have typed the IP address of the raspberry who is “169.254.14.132”, it's over.
I can finally control the screen of my raspberry with my laptop.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
16
Installation the GPS mouse
To install the GPS mouse, just install the driver and then connect it to the rasp-
berry. Then, you have to configure the connection in Opencpn, in the menu options >>
menu connections.
Just click on "add connection", choose the "serial" mode, select the com port
and choose the connection speed which is "4800 baud". Cheksum control is optional.
To check if the connection is established, check "open the NMEA data display
window". NMEA data appears which confirms that the connection is established.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
17
We also have the position of the GPS which is automatically displayed in
Opencpn.
Installation the module NEO-6M
Installation of the NEO-6M module is completely optional. It all depends on the
technical solution you want to choose. The module works like the GPS mouse but it is
cheaper.
We connect it to the GPIO pins of the raspberry to test it but if we really wanted
to implement it, it would have been necessary to convert the signal to USB with a cable
TTL REV 232 3V3 to configure it with the Opencpn software.
Cable TTL REV 232 3V3
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
18
VCC
TXD RXD
GND
PPS
Three possible technical solutions with price estimation
Not knowing how the boat is equipped for system installation. I propose to
make a cost estimate for 3 possible technical solutions.
1) If the boat has 220 volts AC 50 Hz.
2) If the boat has not 220 volts AC 50 Hz.
3) By replacing the GPS mouse with the NEO-6M.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
19
1/ The first solution if the boat has 220 volts AC 50 Hz.
Estimated cost :
Components References Quantities Price (Euros) Price (Dong)
Television E&M 001435 1 67,72€ 1828754.36
Raspberry pi
3+HDMI cable+16G
micro SD card+5
Volts Power
charger
Model B+
1
14,84€
400748.89
The USB mouse 1 2,51€ 67695.88
The GPS mouse BT-708 U-G7020-KT 1 15,37€ 414536.11
Total 3 100,44€ 2712346.25
GPS mouse
HDMI cable
220V AC
Charger 5V
USB mouse
Raspberry pi
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
20
2/ The second solution if the boat has not 220 volts AC 50 Hz.
The 220v AC-5v charger is replaced with a 12v-5v DC-DC converter and the 15-inch
HDMI display by a 7-inch pi display.
Estimated cost :
Components References Quantities Price (Euros) Price (Dong)
7-inch pi display 1 42,00€ 1132759.69
Converter DC-DC D8739 1 3,31€ 89272.25
Raspberry pi 3+16G
micro SD card
Model B+ 1 14,84€ 400748.89
The USB mouse 1 2,51€ 67695.88
The GPS mouse BT-708 U-G7020-KT 1 15,37€ 414536.11
Total 3 78,03€ 2107172.22
GPS mouse
Converter 12V to 5V
USB mouse
7-inch pi display
Raspberry pi
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
21
USB mouse
Converter 12V to 5V
7-inch pi display
Cõble TTL 232 R3V3
Raspberry pi
Module NEO-6M
3/ The third solution, the fully integrated GPS module is replaced by the NEO GPS
module and a TTL 232 3V3 cable.
Estimated cost :
Components References Quantities Price (Euros) Price (Dong)
TTL 232 R3V3 cable PL2303TA 1 8,77€ 236830.71
Case of proctection NE0-6M 1 8,71€ 235210.43
7-inch pi display 1 42,00€ 1132759.69
Converter DC-DC D8739 1 3,31€ 89272.25
Raspberry pi 3+16G
micro SD card
Model B+ 1 14,84€ 400748.89
The USB mouse 1 2,51€ 67695.88
The module NEO-6M 1 7,51€ 200 132,86
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
22
V. Conclusion
Finally, we have chosen the first solution that is easier to implement, the
television will make much more readable data reading than on the LCD raspberry. It
will only remain to install the system on the boat.
All in all, all the tests went well. I managed to display the map of Vietnam on
Opencpn software, control the raspberry pi via my portable computer to avoid hardware
clutter and display the GPS position of the boat with the GPS mouse.
I also learned to use Opencpn to create navigational routes and memorable ge-
ographic coordinate points.
This internship was a unique experience for me. This allowed me to familiarize
myself with a country that I already knew.
Since my visit last year, I discovered a new facet of Vietnam thanks to the
internship, because for the realization of my project, I did not think to have so many
difficulties.
It also allowed me to overcome my apprehension of traveling to a country com-
pletely different from mine and adapting to new situations. I was also able to increase
my curiosity both culturally and technically.
A very good atmosphere reigns at the university and all the people I met were
very cooperative and attentive to our questions. For me, it has been a very rewarding
experience. Finally, I would like to thank all the professors and students I worked with
during this internship.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
23
Link 1
ỗais/OpenC
PN.html#overlaying
Link 2
Link 3
https://deusyss.developpez.com/tutoriels/RaspberryPi/Pyt
honEtLeGpio/
Link 4
https://www.u-
blox.com/sites/default/files/products/documents/NEO-
6_DataSheet_%28GPS.G6-HW-09005%29.pdf
Link 5
https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
Link 6
https://www.tyboat.com/achat/P-42963-mc-marine_antenne-
gps-active-mc-marine-gp-01-usb-167-canaux-sky-traq-venus-
8.html
VI. Bibliography
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
24
VII. Appendices
VIII.
The Toolbar is floating and can be placed anywhere on the screen, vertical or
horizontal. Note the “grabber” symbol at the far right side of the toolbar.
Use this handle to drag the toolbar wherever you want it. The default position is
horizontal and docked top left. It snaps to the edges. Right click on the grabber and a
cross will appear.
Left click on the cross and the toolbar shifts its orientation, to vertical or
horizontal format. Right click on the cross to return to the grabber. On Windows (at
least), unless in OpenGL display mode, the toolbar dims down transparently until you
roll over it.
There are three different styles of Toolbars to choose from. Go to the
ToolBox→“User interface”→ “Toolbar and Window Style” and select one of the
following styles:
Traditional
Journeyman
Journeyman Flat
Only the buttons with a ticked box will be displayed. The available shortcuts are also
shown in parenthesis to the right of the button description.
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
25
When a toggle button is pressed, it changes and becomes darker, Traditional style also
adds a
stronger outer frame. For example, tracking off , tracking on .
A brief explanation of the use of each button is available by just hovering with the
cursor over a
button.
Traditional Style (from left to right) :
Zoom In (Zooming )
Zoom Out (Zooming)
Scale Next Chart Down (Scaling Charts)1
Scale Next Chart Up (Scaling Charts)1
Create Route (Create Route)
Find/Follow Boat. Toggles on/off. (Auto Follow and Display Orientation)
Launch Toolbox (Options Setting)
Show/Hide Text Labels on Vector Chart. (Vector Display)
Show/(Attenuate less critical Targets3 )/Hide AIS Targets2 (AIS)
Show/Hide Currents On Chart (Tides and Currents)
Show/Hide Tides On Chart (Tides and Currents)
[Professional License-Project of the central navigation low-cost] 2017-2018
University of Baria Vung Tau, 80 Truong Cong Dinh, Campus 3, Vietnam
MAREST Sylvain
26
Print. Prints your current view, using a simple dialog.
Route/Track/Waypoints/Layer- Manager. (Route & Mark Manager)
Toggle Track On/Off (Ship Track)
About OpenCPN and Help File (Helpand Getting Started)
Adjust Screen Brightness for Dawn/Dusk and Night viewing. (Night Navigation)
Show/Hide the Dashboard Plugin (Dashboard//)
Show/Hide the Grib Overlay Plugin (Grib Weather//)
World Magnetic Model (WMM)
Drop Man Over Board marker (Man OverBoard) Always the far right Button.
A separate GPS status and Chart Orientation Status is normally in
the upper right corner of the display, unless the floating ToolBar covers this position
Course Up/North Up2 (Display Orientation)
GPS status2 (GPS Status)
No GPS data or position not available.
GPS fix, GPS position known and good for navigation. Sat count not available.
Active/Valid GPS data + GPS reporting 1 - 4 satellites.
Active/Valid GPS data + GPS reporting 5 - 9 satellites.
Active/Valid GPS data + GPS reporting 10+ satellites.
Các file đính kèm theo tài liệu này:
- de_tai_thiet_ke_xay_dung_he_thong_dinh_vi_dan_duong_tau_ca_c.pdf